mac-duff 10 Geschrieben 7. April 2007 Melden Teilen Geschrieben 7. April 2007 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 Zitieren Link zu diesem Kommentar
mac-duff 10 Geschrieben 8. April 2007 Autor Melden Teilen Geschrieben 8. April 2007 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? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 9. April 2007 Melden Teilen Geschrieben 9. April 2007 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 Zitieren Link zu diesem Kommentar
mac-duff 10 Geschrieben 9. April 2007 Autor Melden Teilen Geschrieben 9. April 2007 Hi, dank dir für die Antwort, nur leider kann ich nicht auf jeder Maschine dsquery und dsget nachrüsten. Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 9. April 2007 Melden Teilen Geschrieben 9. April 2007 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 Zitieren Link zu diesem Kommentar
mac-duff 10 Geschrieben 9. April 2007 Autor Melden Teilen Geschrieben 9. April 2007 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 Zitieren Link zu diesem Kommentar
xcode-tobi 10 Geschrieben 9. April 2007 Melden Teilen Geschrieben 9. April 2007 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: Zitieren Link zu diesem Kommentar
mac-duff 10 Geschrieben 10. April 2007 Autor Melden Teilen Geschrieben 10. April 2007 das Tool kenne ich, würd mir nur nicht bei den Querys im SMS helfen wie VBS :D Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 10. April 2007 Melden Teilen Geschrieben 10. April 2007 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 Zitieren Link zu diesem Kommentar
xcode-tobi 10 Geschrieben 10. April 2007 Melden Teilen Geschrieben 10. April 2007 das Tool kenne ich, würd mir nur nicht bei den Querys im SMS helfen wie VBS :D haste auch wieder recht Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.