ObjCreate("ADSystemInfo") Fehler ohne AD

  • Hallo zusammen,

    ich habe jetzt schon ne Menge gegooglet und probiert, komme aber nicht weiter.

    Folgendes Problem: Ich habe in einem Script eine Abfrage auf das Object "ADSystemInfo". Klappt auch alles ohne Probleme. Das Script holt mir meine Info artig aus dem Active Directory.
    Jetzt kann es aber vorkommen dass das Script gestartet wird, wenn der PC garnicht im Netz ist. Und dann knallts. Ich bekomme leider keine Fehlerabfrage hin.

    Hier mal der codeschnipsel:

    [autoit]

    $objADSystemInfo = ObjCreate("ADSystemInfo")
    If @error then msgbox (0,"","Error")
    $objDomain = ObjGet("LDAP://" & $objADSystemInfo.DomainDNSName)
    If @error then msgbox (0,"","Error")

    [/autoit]

    Ich habe also mal mit IF @error versucht (Tips aus anderen Foren). Klappt aber nicht.

    Das Script bricht (ohne Netz) mit folgender Meldung in der Console ab:

    Code
    C:\script.au3 (868) : ==> The requested action with this object has failed.:
    $objDomain = ObjGet("LDAP://" & $objADSystemInfo.DomainDNSName)
    $objDomain = ObjGet("LDAP://" & $objADSystemInfo.DomainDNSName^ ERROR


    Hat jemand ne Idee wie ich mein Script dazu bringe zu erkennen ob die Domäne und somit die AD verfügbar ist?

    Danke

  • @Bert:
    äh ja, das wäre natürlich der einfachste weg. Das Tool würde aber auf PCs in ganz Europa eingesetzt werden. Und da müsste ich Standort und Länderabhängig einen anderen DC angeben.
    Ich werde mal versuchen die Idee mit dem Ping auf die Systemvariable %logonserver% umzusetzen. Das wäre evtl ne Möglichkeit.
    Danke erstmal dafür...

  • Nun dann wäre es doch sinniger anhand des Standartgateways zu entscheiden ob und wenn ja welcher DC genommen wird.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Das Active Directory UDF bietet mit _AD_Open auch die Möglichkeit von einem PC der nicht in der Domäne ist sich am AD anzumelden. 3 Parameter sind nötig, die sich über die Variablen %logonserver% etc. ermitteln lassen und danach get alles wie geschmiert :)