problem bei "suche-ersetzen" script

  • VBScript

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von fbu.

    problem bei "suche-ersetzen" script

    hallo zusammen,

    ich habe folgendes problem:
    ich muss zwei mal im jahr ca. 180 PCs, welche identische hardware haben, per image neu installieren.
    klappt soweit auch alles bestens. auf den PCs sind zu schulungszwecken drei mail-clients installiert. windows mail von vista (ehemals outlook express), Outlook2007 und mozilla thunderbird.
    in jedem mailclient wird das gleiche pop3 konto angelegt. die daten des kontos (name, mail adresse, anmeldename, etc) entsprechen jeweils dem hostnamen des PCs. also z.b. schulungpc1@domain.de für PC1, schulungpc2@domain.de für pc2 usw...

    die automatische konfiguration von outlook2007 klappt mittels erstelltem *.prf file bestens. in dem file habe ich überall den name durch %computername% ersetzt. bei import ersetzt outlook dann automatisch die variable durch den aktuellen hostname.

    jetzt suche ich noch ein lösung um auch thunderbird und windows mail automatisch abhängig von hostname des PCs konfigurieren zu können.
    beide programme legen die mail-konto-einstellungen in konfig-dateien im benutzerprofil ab:

    windows mail z.B.: c:\Users\benutzer\AppData\Local\Microsoft\Windows Mail\Local Folders\account{8C3DA182-FE9F-4A14-8780-4FDD22FAD6E5}.oeaccount
    thunderbird z.B.: c:\Users\benutzer\AppData\Roaming\Thunderbird\Profiles\0h4g6djc.default\prefs.js




    leider hab ich relative beschränkte bis keine programmierkenntnisse und bin auf folgendes script gestossen



    Visual Basic-Quellcode

    1. 'Variablen initialisieren
    2. DIM Suchen
    3. DIM Ersetzen
    4. DIM NeuerInhalt
    5. DIM Inhalt
    6. 'Variablen setzen
    7. Suchen ="Windows"
    8. Ersetzen ="MAC OS X"
    9. 'Datei öffnen und auslesen
    10. Set FSO = CreateObject("Scripting.FileSystemObject")
    11. Set File = FSO.OpenTextFile("c:\server.txt", 1, True, True)
    12. Inhalt = File.ReadAll
    13. File.Close
    14. 'String finden und ersetzen
    15. NeuerInhalt = Replace(Inhalt, Suchen , Ersetzen) +vbcr
    16. 'In Datei schreiben
    17. Set File = FSO.OpenTextFile("C:\server.txt", 2)
    18. File.Write NeuerInhalt
    19. File.Close




    funktioniert soweit auch bestens, nur habe ich noch das problem, dass ich die variable Ersetzen ="MAC OS X" variabel durch den aktuellen Hostnamen des PCs ersetzen müsste.

    das script sollte also %computername% auslesen und damit die "suchen-werte" überschreiben.





    besten dank schon mal für eure hilfe!!
    Hallo

    Du kannst die entsprechende Umgebungsvariable in VBScript wie folgt auslesen:

    Visual Basic-Quellcode

    1. Dim objShell
    2. Dim objEnv
    3. Set objShell = CreateObject ("WScript.Shell")
    4. Set objEnv = objShell.Environment ("SYSTEM")
    5. Ersetzen = objEnv ("COMPUTERNAME")


    Gruss Bruno