VB LDAP AD Computer Konto auslesen (managedBy)
Hallo Zusammen,
ich suche nach einem Script wie ich das Feld "managedBy" von einem einzelen AD Computer Konto auslesen kann
leider geht diese nicht so einfach oder was mach ich falsch ?
Gruß
ich suche nach einem Script wie ich das Feld "managedBy" von einem einzelen AD Computer Konto auslesen kann
Set objDomain = GetObject("LDAP://rootDse")
objDC = objComputer.Get("managedBy")
Wscript.Echo "Hier die Info:" & objDC
leider geht diese nicht so einfach oder was mach ich falsch ?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171924
Url: https://administrator.de/contentid/171924
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
20 Kommentare
Neuester Kommentar
Hallo win-hesse!
Wenn es um den aktuellen Rechner geht, dann etwa so:
Grüße
bastla
Wenn es um den aktuellen Rechner geht, dann etwa so:
Set objComputer = GetObject("LDAP://" & CreateObject("ADSystemInfo").ComputerName)
On Error Resume Next
Manager = objComputer.Get("managedBy")
On Error Goto 0
If Manager <> "" Then
WScript.Echo Manager
WScript.Echo Split(Split(Manager, ",")(0), "=")(1)
Else
WScript.Echo "Kein Eintrag vorhanden!"
End If
bastla
Hallo win-hesse!
Sorry - ich verstehe die Frage nicht ganz; mit der angegebenen Zeile (lass Dir einfach einmal das Ergebnis von
anzeigen) wird ja das Computer-Objekt anhand des AD-Pfades erzeugt - wenn Du also einen anderen Computer ansprechen wolltest, wären wir wieder ganz oben in diesem Thread ...
Grüße
bastla
Sorry - ich verstehe die Frage nicht ganz; mit der angegebenen Zeile (lass Dir einfach einmal das Ergebnis von
CreateObject("ADSystemInfo").ComputerName
Grüße
bastla
[OT]
@bastla
Vielleicht kannst Du ja noch etwas lernen
Ok, ich halt mich raus.
Schönes Wochenende
Markus
[/OT]
@bastla
Vielleicht kannst Du ja noch etwas lernen
Ok, ich halt mich raus.
Schönes Wochenende
Markus
[/OT]
[OT]
@BigWim
Grüße
bastla
[/OT]
@BigWim
Vielleicht kannst Du ja noch etwas lernen
Das würde ich nie ausschließen - aber eigentlich ging's mir eher darum, wie win-hesse den Sinn eines Forums sieht ...Grüße
bastla
[/OT]
Hallo win-hesse!
Ich weiß ja nicht, wo Du das Script oben aufgetrieben hast, aber einige Details sind nicht ganz astrein - besser sollte es so gehen:
Was das Script macht, ist relativ einfach - es wird, ausgehend von der angegebenen Ebene (eine OU bzw im Beispiel hier die gesamte Domäne) nach einem Computer mit dem vorgegebnen Namen gesucht. Die Abfrage ist dabei im SQL-Stil formuliert. Das Ergebnis ist ein RecordSet, das üblicher Weise mit einer Schleife der Art
durchlaufen wird. Wenn nur der erste (und einzige) Eintrag interessiert, kann dieser auch direkt abgefragt werden - falls er existiert und nicht bereits vorweg "EOF" erreicht ist.
Grüße
bastla
Ich weiß ja nicht, wo Du das Script oben aufgetrieben hast, aber einige Details sind nicht ganz astrein - besser sollte es so gehen:
Vpc = TB1.Text
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select Name, ManagedBy from " & _
"'LDAP://DC=firma,DC=com' where objectClass='computer'and name='" & Vpc & "'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
If objRecordSet.EOF Then
Manager = "Computer nicht gefunden"
Else
objRecordSet.MoveFirst
Manager = objRecordSet.Fields("ManagedBy").Value
If Manager <> "" Then
Manager = Split(Split(Manager, ",")(0), "=")(1)
Else
Manager = "kein Eintrag"
End If
End If
TB9.Text = Manager
Do Until objRecordSet.EOF
...
Loop
Grüße
bastla
Hallo win-hesse!
Hinsichtlich der einzelnen Werte / Felder hat zB Yusuf hier eine Übersicht zusammengestellt ...
Grüße
bastla
nur das mit der Schleife habe ich noch nicht so ganz verstanden
da ich mehre Wert ausgeben will
Die Schleife läuft über alle Objekte - bei Abfrage eines bestimmten Computers anhand seines Namens ist das dann eben nur eines (oder keines) - wenn Du Computer mit einem bestimmten OS suchst, werden mehrere Objekte zurückgegeben. Welche und wieviele Werte Du für das jeweilige Objekt abfragen willst, hat mit der Schleife nix zu tun ...da ich mehre Wert ausgeben will
Hinsichtlich der einzelnen Werte / Felder hat zB Yusuf hier eine Übersicht zusammengestellt ...
Grüße
bastla