Jump to content
Sign in to follow this  
mac-duff

Computer Beschreibung aus ADS auslesen (vbs)

Recommended Posts

Hallo,

ich möchte gerne folgendes bewerkstelligen. Die Computer.Description eines bestimmten PCs (unabhängig von der OU) auslesen und in die lokale Computer Beschreibung wieder eintragen.

 

 

Für den zweiten Teil bin ich hier fündig geworden, nur beim auslesen der Beschreibung aus der ADS happert es massivs

 

 

Hey, Scripting Guy! How Can I Change the Description for a Computer?

 

Hoffe mir kann da bitte einer weiterhelfen

Share this post


Link to post

Also ich kann jetzt die Beschreibung auslesen, nur leider muss ich den Containernamen angeben:

 

On Error Resume Next

 

Dim WshShell, Hostname

 

Set wshShell = Wscript.CreateObject("WScript.Shell")

'hostname = wshShell.ExpandEnvironmentStrings("%ComputerName%")

hostname = "test123"

 

 

Set objComputer = GetObject _

("LDAP://CN=" & hostname & ",CN=test,DC=test,DC=domain")

 

objProperty = objComputer.Get("Description")

If IsNull(objProperty) Then

Wscript.Echo "The description has not been set."

Else

Wscript.Echo "Description: " & objProperty

objProperty = Null

End If

 

 

Gibt es da vielleicht noch einen Trick?

Share this post


Link to post

Hi,

Ich habe momentan kein AD zum Testen zur Verfuegung. Daher musst du wahrscheinlich noch selbst etwas experimentieren. Die Funktion unten sollte dir prinzipiell aus einem SAMComputernamen den DN zurueckliefern, den du dann weiterverwenden kannst.

Alternativ kannst du einen normalen LDAP-Search verwenden (execquery etc.). Das dauert aber deutlich laenger und ist auch mehr Code

 

----

function ComputerDN(SAMcomputername)

'Bestimmen des DNs

'dsquery und dsget muessen installiert sein

 

 

Set objShell = WScript.CreateObject("WScript.Shell")

Set objExecObject = objShell.Exec("%comspec% /c dsquery computer -samid " & SAMcomputername & "| dsget computer -dn")

 

Do Until objExecObject.StdOut.AtEndOfStream

strLine = objExecObject.StdOut.ReadLine()

strCN = Instr(strLine,"CN=")

If strCN <> 0 Then

ComputerDN=strLine 'Rueckgabewert

End If

Loop

 

end function

-----------------------------------

 

cu

blub

Share this post


Link to post

Hallo mac-duff,

 

On Error Resume Next

strCN = "test123"

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.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
  "SELECT ADsPath FROM 'LDAP://DC=test,DC=domain' WHERE objectCategory='computer' AND Name='" & strCN & "'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
strADsPath = objRecordSet.Fields("ADsPath").Value

 

und den Rest hattest du ja schon oben geschrieben.

 

Set objComputer = GetObject (strADsPath)

....

 

thorgood

Share this post


Link to post

Hey,

läuft auf einem Test DC schon einmal super!!! Ich danke dir tausend mal. Ich hoffe das ich so mein Problem beim SMS.

 

Super, vielen Dank

Share this post


Link to post

Ein kleines Prog (freeware) kann ich an dieser Stellen evtl. noch empfehlen: ARI - AdvancedRemoteInfo (★★★★★ Home@MasterBootRecord.de — MasterBootRecord.de - Matthias Zirngibl - Home@MasterBootRecord.de Remote Control Inventarisierung Hardware dokumentenmanagement system dokumenten-management-system dokumentenverwal. Ein nettes kleines PRogramm um die Daten eines oder mehrer Rechner aus dem Netz auszulesen... :top:

Share this post


Link to post

Hi,

Wenn der LDAP-Search von thorgood deine Wuensche erfuellt, dann wunderbar! Trotzdem zwei Anmerkungen zu meiner Funktion:

-dsget, dsquery muessen nur auf der Maschine installiert sein, auf der das Skript laeuft. Ich nehme an, dass du die PCs remote abfragen willst.

-LDAP-Searches von der Root weg, koennen dir im Eventlog des DCs je nach Logging Einstellungen und Groesse deines ADs, Warnungen ueber uneffektive LDAP-Searches bringen.

 

cu

blub

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...