Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

AD Computerbeschreibung mittels VBScript einen Wert über ADODB.Connection inserten

Mitglied: IT-Eric

IT-Eric (Level 1) - Jetzt verbinden

04.10.2006, aktualisiert 05.10.2006, 9970 Aufrufe, 3 Kommentare

Hallo,

ich möchte nun meine bestehende ADODB.Connection zum AD nutzen und in die Beschreibung des AD Objekts Computer einen Wert reinschreiben.

Wie mache ich das?

Hier meine Verbindung:
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 = "??????????????????????"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute

Mir fehlt, soweit ich das beurteilen kann der richtige insert Befehl für "??????????????????????" im Script oben.

Irgendwas wie: insert beschreibung into 'LDAP://DC=test,DC=org' where typ=Computer ans name='Computername' values('Beschreibungstext1')

Gruß und Danke vorweg
IT-Eric
Mitglied: bastla
04.10.2006 um 19:22 Uhr
Hallo IT-Eric!

Zu Deinem Ansatz: Im Original-Beispiel aus dem MS-TechNet Script Center geht es so weiter ...

01.
...
02.
objCommand.CommandText = _
03.
    "Select Name, Location, operatingSystemVersion from " & _
04.
        "'LDAP://DC=fabrikam,DC=com' where objectClass='computer'" & _
05.
            " and operatingSystemVersion = '5.1 (3600)'"  
06.
 
07.
...
Ergebnis: Recordset mit den entsprechenden Feldern "Name", "Location", "operatingSystemVersion" - daher müsstest Du das SQL-Statement um das Feld "Description" und um "Name = 'Computername'" ergänzen und in weiterer Folge das (hoffentlich nur aus einem Satz bestehende) Recordset zum Zurückschreiben der Description verwenden.

Einfacher könnte es so gehen (neues Script):
01.
Set objComputer = GetObject _ 
02.
    ("LDAP://CN=Computername,CN=Computers,DC=test,DC=org")
03.
 
04.
objComputer.Put "Description" , "WasAuchImmer"
05.
objComputer.SetInfo
HTH
bastla
Bitte warten ..
Mitglied: IT-Eric
05.10.2006 um 07:23 Uhr
Danke erstmal für Deine Antwort. Den Select und das Recordset habe ich schon.
Ich habe aber keine Ahnung, wie ich das veränderte Recordset dann wieder ins AD rein bekomme.

Mit dem objComputer.Put "Description" , "WasAuchImmer" wäre es sicherlich einfacher, allerdings muss ich dann aber LDAP verwenden und wissen in welcher OU der PC steht, das will ich aber nicht bei jedem PC extra eintragen müssen.

Hier mein mein Code, den ich bisher habe, dieses möchte ich erweitern und Werte in die Computer Beschreibung ins AD eines bestimmten PCs schreiben(Später werden die Beschreibungen und PCs aus einer Textdatei ausgelesen:

Const ADS_SCOPE_SUBTREE = 2
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
sFilePath = "c:\misc\vbs\description.txt"
Set fOutput = objFileSystem.OpenTextFile(sFilePath, ForWriting, True)
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCommand.ActiveConnection = objConnection
objCommand.CommandText ="Select Name, Description, Location from " & "'LDAP://DC=DOMAINE,DC=ORG' where objectClass='computer'"

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

'Zeigt das ganze auch noch an

Do Until objRecordSet.EOF
if objRecordSet.Fields("Name").Value ="COMPUTERNAME1" then
fOutput.WriteLine join(objRecordset.Fields("Description").Value)

'Set objRecordSet = objCommand.Execute
end if
objRecordSet.MoveNext
Loop
fOutput.Close
Set fOutput = Nothing


Im Script wird die Beschreibung von COMPUTERNAME1 in die Textdatei geschrieben. Die Erweiterung soll das einfach umgekehrt machen, ohne zu wissen in welcher OU der PC ist.

Viele Grüße
Eric
Bitte warten ..
Mitglied: IT-Eric
05.10.2006 um 07:46 Uhr
Ich habe mir wie folgt nun geholfen:
Nachdem ich im Recordset den entsprechenden PC gefunden habe, kann ich ja den LDAP Pfad mit auslesen. Den weiss ich ja dann auch. Danach kann ich mit Deinen Befehlen den Wert schreiben.

Danke!

Hier mein Code:
Const ADS_SCOPE_SUBTREE = 2
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
set objDomain = GetObject("WinNT://" & domain)
domain = "DOMAINE.org"

sFilePath = "c:\misc\vbs\description.txt"
Set fOutput = objFileSystem.OpenTextFile(sFilePath, ForWriting, True)
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCommand.ActiveConnection = objConnection
objCommand.CommandText ="Select Name, Description, ADsPath from " & "'LDAP://DC=DOMAINE,DC=org' where objectClass='computer'"

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst



Do Until objRecordSet.EOF
if objRecordSet.Fields("Name").Value ="ComputerName1" then

Set objaktuellerPC = GetObject (objRecordset.Fields("ADsPath").Value)
objaktuellerPC.Put "Description" , "WasAuchImmer"
objaktuellerPC.SetInfo

end if
objRecordSet.MoveNext
Loop
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Computerbeschreibung im AD per Batch einfügen

gelöst Frage von Fighter-01Batch & Shell3 Kommentare

Hallo an die Experten. Ich versuche, per Batch die Beschreibung von Computerkonten im AD zu ergänzen. Das Script ist ...

Datenbanken

Oracle Insert Befehl

gelöst Frage von MarabuntaDatenbanken4 Kommentare

Hallo, ich habe eine Datenbank, die etwa so aussieht: Jetzt soll mit einem Insert Befehl folgendes passieren: Also habe ...

Batch & Shell

INSERT INTO funktioniert nicht

gelöst Frage von DaniBatch & Shell9 Kommentare

Guten Abend liebe Kolleginnen und Kollegen, ich gehe - wieder einmal - einer meiner Entwicklungen nach, welche ich mal ...

Batch & Shell

Bei INSERT Fehler abbrechen

Frage von newit1Batch & Shell8 Kommentare

Hallo zusammen, ich habe ein kleines Problem. Das unterstehende Skript importiert eine CSV Datei in eine Datenbank. Den Aufbau ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 4 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 5 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 9 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Samba
Windows 10 Client in Samba-Domäne hinzufügen scheitert
Frage von diwaffmSamba31 Kommentare

Hi Leute, ich habe einen Samba Server in der Version 4.9.3 auf einer OpenSuse Maschine laufen. Damit sind momentan ...

Windows Server
Kleine Umfrage: Windows Server Desktop oder Core?
Frage von doomfreakWindows Server22 Kommentare

Hey :) Ich wollte mal eine kleine Umfrage hier starten. Ich bin schon etwas länger auf dieser Seite hier ...

Windows Systemdateien
Verknüpfungen nach Pfadwechsel
Frage von Hendrik2586Windows Systemdateien17 Kommentare

Guten Morgen meine lieben Kollegen und Kolleginnen, ich hab da mal eine Frage die Ihr sicher schon kennt. Es ...

Batch & Shell
CMD-Fenster nach Task schließen
gelöst Frage von Hyperlink.93Batch & Shell16 Kommentare

Hallo, ich habe ein Skript was über einen Task bei jeder User Anmeldung läuft. Der Task startet eine CMD ...