Filegrößenbestimmung auf 200 Server bei min. 3Usern

  • Hi @ all

    ich muss bei ca. 500 Mitarbeitern die File größe einer bestimmten Datei (outlook.pst) bestimmuen und diese in einem Logfile auslesen.

    die user sind auf ca. 200 FilialservernServern mit ihrem persönlichen Verzeichniss gespeichert.

    es geht darum dass wir die User hinweisen müssen die Mails zu reduzieren weil wir eine Umstellung von einem Linux Mailserver auf Exchange vorhaben. (das muss sein wei der Linux server nicht ordentlich funktioniert)

    Die Datei ist auf den Filialserver so abgelegt:

    \\server\homeshare\user.name\outlook.pst

    der servername ist bekannt und der user ist bekannt (jeweils in einer .txt datei)

    Mein Problem ist ich bin ein ziemlicher newbie in sachen probrammieren und muss die Aufgabe bis Montag erledigen.

    danke für die hilfe :help:

    • Offizieller Beitrag

    Hallo Tom!

    Wie sieht denn soeine datei aus wo die user eingegeben sind? In meinem beispiel hab ichs eifnach mal so gemacht:

    user.txt
    inhalt:

    Zitat

    User 1
    User 2
    User 3
    ...

    Server.txt
    inhalt:

    Zitat

    Server 1
    Server 2
    Server 3
    ...

    Also hier das beispiel, hoffe es hilft dir weiter ;) bei weitern fragen... einfach fragen :)

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    $getuserfile = "userser.txt"
    $getserverfile = "server.txt"
    Dim $user
    Dim $server
    _FileReadToArray($getuserfile,$user)
    If @error Then Exit MsgBox(16,"","Keine User Gefunden, oder Falsche datei!")
    _FileReadToArray($getserverfile,$server)
    If @error Then Exit MsgBox(16,"","Keine Server Gefunden, oder Falsche datei!")
    $getsize = ""
    For $i = 1 To $user[0]
    $getsize &= $server[$i]&"("&$user[$i]&"): "&FileGetSize("\\"&$server[$i]&"\homeshare\"&$user[$i]&"\outlook.pst")
    Next

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"",$getsize)

    [/autoit]

    Mfg Spider

  • hi,

    die Dateigröße einer Datei kannst du ganz leicht mit FileGetSize() herausbekommen - standardgemäß wird der wert in Bytes zurückgegeben.

    bsp: FileGetSize("Z:\Trallala\TempKill.exe")

    Über das Netzwerk habe ich es noch nicht ausprobiert, evtl. hat jmd anderes mehr erfahrung damit (gemacht).

    Mfg
    Trallala

    • Offizieller Beitrag

    Bemerkung am Rande:

    Zitat

    (das muss sein wei der Linux server nicht ordentlich funktioniert)

    Was habt ihr denn da verbockt? Was zuverlässigeres als einen Linux Mailserver hab ich bisher noch nicht kennengelernt. Ich hoffe, ihr seid vom Exchange nachher nicht enttäuscht. Soweit ich weiß, ist vom Konfigurationsumfang her Linux eindeutig besser.

  • GtaSpider

    danke für dein script aber dies verurscht zuviel lasst auf unserem NW :(

    ich hab mittlierweile alle UNC pfade aller MA in einer TXT datei. wie kann ich die auslesen damit ich die .PST Dateigröße bekomme....

    in einem Logfile :

    user.name = outlook.pst = 5000 KB
    user.name2 = outlook.pst = 5000 KB
    user.name3 = outlook.pst = 5000 KB

    danke


    TOM aus Wien

  • Wir haben von Exchange auf Linux umgestellt. Das MS-Ding macht nur viel Arbeit und Probleme.
    Binde doch einfach ein kleines Programm für eine gewisse Zeit in das Loginskript ein - damit wird die Netzlast deutlich reduziert.

  • Hallo,
    vielleicht hilft dir das weiter:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    $InputFilePath="C:\TEST.TXT"
    $OutputFilePath="C:\Result.txt"
    $PST_SubPath="\Outlook"
    $PST_Name="\Outlook.pst"
    dim $aArray, $Output
    _FileReadToArray($InputFilePath, $aArray)
    For $i=1 To $aArray[0]
    $Output=$Output & @CRLF & $aArray[$i] & " = " & $PST_Name & " = " & round(FileGetSize($aArray[$i] & $PST_SubPath & $PST_Name)/1024 ,3)
    Next
    $file=FileOpen($OutputFilePath,2)
    FileWrite($file,$Output)
    FileClose($file)

    [/autoit]


    Wenn du die Netzlast reduzieren willst, musst du wohl das Skript auf den jeweiligen Servern direkt aufrufen, oder zu einer Zeit laufen lassen wo sowieso nichts los ist im NW.

    eddy_erpel