Computerbeschreibung mittels VBScript in AD schreiben
Hallo,
ich möchte aus einer Textdatei, die wie folgt aussieht, Werte mittels VBScript in die Computerbeschreibung im AD schreiben, egal in welcher OU der PC gerade ist.
folgendes habe ich schon:
Aufbau der Textdatei:
Computernamen1, beschreibung1
Computernamen2, beschreibung2
Computernamen3, beschreibung3
Computernamen4, beschreibung4
Die "beschreibung1" soll bei "Computernamen1" eingetragen werden etc.
domain = "//DOMAINE"
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
set objDomain = GetObject("WinNT:" & domain)
for Each item in objDomain
if item.class="Computer" then
WScript.Echo "Computername: " & item.name
end if
next
WScript.Echo "Fertig!"
Das Auslesen aus einer Textdatei bekomme ich wahrscheinlich hin. Aber wie schreibe ich etwas in die Computerbeschreibung?
Danke für die Hilfe!
IT-Eric
ich möchte aus einer Textdatei, die wie folgt aussieht, Werte mittels VBScript in die Computerbeschreibung im AD schreiben, egal in welcher OU der PC gerade ist.
folgendes habe ich schon:
Aufbau der Textdatei:
Computernamen1, beschreibung1
Computernamen2, beschreibung2
Computernamen3, beschreibung3
Computernamen4, beschreibung4
Die "beschreibung1" soll bei "Computernamen1" eingetragen werden etc.
domain = "//DOMAINE"
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
set objDomain = GetObject("WinNT:" & domain)
for Each item in objDomain
if item.class="Computer" then
WScript.Echo "Computername: " & item.name
end if
next
WScript.Echo "Fertig!"
Das Auslesen aus einer Textdatei bekomme ich wahrscheinlich hin. Aber wie schreibe ich etwas in die Computerbeschreibung?
Danke für die Hilfe!
IT-Eric
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41425
Url: https://administrator.de/forum/computerbeschreibung-mittels-vbscript-in-ad-schreiben-41425.html
Ausgedruckt am: 12.03.2025 um 05:03 Uhr
5 Kommentare
Neuester Kommentar
Hallo IT-Eric,
es handelt sich um den Description Feldnamen
vbs Beispiel
Set objComputer = GetObject _
("LDAP://CN=Computer,OU=SampleOU,OU=Computers,OU=MyBusiness,DC=sample,DC=lokal")
objComputer.Put "Description" , "Die Beschreibung"
objComputer.SetInfo
Deine Schleifchen kannst Du dann noch drum machen
Gruß
Egbert
es handelt sich um den Description Feldnamen
vbs Beispiel
Set objComputer = GetObject _
("LDAP://CN=Computer,OU=SampleOU,OU=Computers,OU=MyBusiness,DC=sample,DC=lokal")
objComputer.Put "Description" , "Die Beschreibung"
objComputer.SetInfo
Deine Schleifchen kannst Du dann noch drum machen
Gruß
Egbert
Hallo Eric,
dann solltest Du damit weiterkommen
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, Location, operatingSystemVersion from " & _
"'LDAP:DC=sample,DC=lokal' where objectClass='computer'"
hier kannst Du auch noch nach bestimmten Attributen abfragen. z.B.
& "'LDAP:DC=fabrikam,DC=com' where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Zeige das ganze auch noch an oder wechsle in dein Schleifchen
Do Until objRecordSet.EOF
Wscript.Echo "Computer Name: " & objRecordSet.Fields("Name").Value
Wscript.Echo "Location: " & objRecordSet.Fields("Location").Value
objRecordSet.MoveNext
Loop
Gruß
Egbert
dann solltest Du damit weiterkommen
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, Location, operatingSystemVersion from " & _
"'LDAP:DC=sample,DC=lokal' where objectClass='computer'"
hier kannst Du auch noch nach bestimmten Attributen abfragen. z.B.
& "'LDAP:DC=fabrikam,DC=com' where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Zeige das ganze auch noch an oder wechsle in dein Schleifchen
Do Until objRecordSet.EOF
Wscript.Echo "Computer Name: " & objRecordSet.Fields("Name").Value
Wscript.Echo "Location: " & objRecordSet.Fields("Location").Value
objRecordSet.MoveNext
Loop
Gruß
Egbert
Danke erstmal für die Antwort. Leider
komme ich damit nicht klar. Ich möchte
keinen LDAP Pfad angeben müssen, weil
ich nicht genau weiss, in welcher OU der
entsprechende PC stehen wird.
Geht es auch ohne die OU angeben zu
müssen?
Gruß
IT-Eric
komme ich damit nicht klar. Ich möchte
keinen LDAP Pfad angeben müssen, weil
ich nicht genau weiss, in welcher OU der
entsprechende PC stehen wird.
Geht es auch ohne die OU angeben zu
müssen?
Gruß
IT-Eric