none
VBS Script Monitor RRS feed

  • Frage

  • Hallo!

    Ich versuche per VBS in einem Monitor den Logonserver auszulesen.

    Leider bin ich mit meinem Latein am Ende.

    3 Varianten habe ich versucht:

    Set WSHShell = CreateObject("Wscript.Shell")    

    Set WSHProcess = WSHShell.Environment("Process")    

    DomainLogonServer = WSHProcess("LogonServer")    'Ausgabe: \\Servername

    dim logonserverlogonserver = WSHShell.ExpandEnvironmentStrings("%logonserver%")

    f.WriteLine "Server:" & logonserver logonserver = WSHShell.environment("process")("logonserver")

    Dim strRegKey

    strRegKey="HKCU\Volatile Environment\LogonServer"

    f.WriteLine "Current Logon Server is: " & WSHShell.RegRead(strRegKey)

    Bei keiner der Varianten wird die Variable gefüllt.

    Führe ich das Skript manuell aus, funktioniert alles.

    Was mache ich falsch?

    danke

    Hansi


    • Bearbeitet very_best Mittwoch, 9. März 2016 13:16
    Mittwoch, 9. März 2016 13:14

Antworten

  • Hallo!

    Also der Dienst läuft mit einem Domänenaccount.

    Ich habe es jetzt folgendermaßen gelöst:

    Set objDomain = GetObject("LDAP://rootDSE")

    objDC = objDomain.Get("dnsHostName")


    Ich lese mir den Domänencontroller aus und so kann ich mit diesem die Zeit abstimmen.

    Danke für die Hilfe

    Hansi

    • Als Antwort markiert very_best Freitag, 18. März 2016 06:24
    Freitag, 18. März 2016 06:24

Alle Antworten

  • Läuft das Skript im Systemkontext? Falls ja, dann ist die Variable nicht vorhanden.

    Torsten Meringer | http://www.mssccmfaq.de

    Mittwoch, 9. März 2016 13:42
    Beantworter
  • Hallo!

    JA der SCOM-Agent läuft im System-Kontext, hätte schon versucht die Ausführung auf einen User umzustellen. Leider ohne Erfolg.

    Mittwoch, 9. März 2016 15:11
  • Hallo!

    Also wenn ich den SCOM Agent mit einem Benutzer starte funktioniert zumindest das Auslesen über die Registry (klar, HKCU)

    Das Auslesen mittels den beiden anderen Methoden funktioniert nicht. Das wäre allerdings schön :)

    noch eine Idee?

    lg

    Hansi

    Mittwoch, 9. März 2016 15:20
  • Wessen Logon-Server möchtest du denn Auslesen?
    Wenn der Dienst mit dem Benutzer SYSTEM läuft, ist das der lokale Account, folglich hat sich der Account an keiner Domain angemeldet und die Variable gibt es nicht.

    Die "Ausgabe" an einen User leiten bringt nichts - da der Prozess bzw. der Benutzer der den Prozess ausführt keinen Logon-Server hat.

    Daher die Frage - was ist dein Ziel?

    Donnerstag, 17. März 2016 16:17
  • Hallo!

    Also der Dienst läuft mit einem Domänenaccount.

    Ich habe es jetzt folgendermaßen gelöst:

    Set objDomain = GetObject("LDAP://rootDSE")

    objDC = objDomain.Get("dnsHostName")


    Ich lese mir den Domänencontroller aus und so kann ich mit diesem die Zeit abstimmen.

    Danke für die Hilfe

    Hansi

    • Als Antwort markiert very_best Freitag, 18. März 2016 06:24
    Freitag, 18. März 2016 06:24