Jump to content

VBS-Export-Skript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

hallo freunde der edv ;)

 

ich sitze seit einigen tagen an einem vbs-skript das mir die domänen-client-rechner mit einer LDAP-abfrage (Name, Description) in eine csv-datei exportieren soll. ich habe das ganze bereits erfolgreich mit csvde probiert, das problem daran ist nur dass csvde auch sachen exportiert die nicht in dem exportfile auftauchen sollen. das exportfile sollte tatsächlich nur den namen des rechners und dessen beschreibung enthalten (aufgelistet), weil das file nicht für mich sondern für die verwaltung gedacht ist, die mit kürzeln wie OU= CN= leicht überfordert sind ;). ldap-attribute würden sich da prima für anbieten ;)

 

das skript soll z.b. 1 mal am tag auf einem der DCs ausgeführt werden um das exportfile aktuell zu halten, hier mal das skript:

 

'Option Explicit
On Error Resume Next

Dim qQuery, objSysInfo, objComputer
Dim Name, Description

' Read LDAP(Active Directory).
'====================
Set objSysInfo = CreateObject("ADSystemInfo")
objSysInfo.RefreshSchemaCache
qQuery = "LDAP://DC=domäne,OU=Berlin,OU=Computers,CN=*"
Set objComputer = GetObject(qQuery)

Name = objComputer.Name
Description = objComputer.Description

' This section creates file names and locations.
'====================
Set objShell = CreateObject("WScript.Shell")
FolderLocation = "C:\"
TXTFileString = FolderLocation & "Berlin.csv"

' The next section builds the export file
'====================
Dim objFSO
Dim objFile,afile
Dim aQuote
aQuote = chr(34)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(TXTFileString,True)
objFile.Close
Set objFile = objFSO.OpenTextFile(TXTFileString, 2)
objfile.write Name & Description & vbCrLf
objFile.Close

 

das exportfile wird einwandfrei erstellt, nur leider leer ;) ich bin alles andere als ein vbs-skript profi....taste mich gerade an das thema heran. habe zwar schon einige skripte erstellt die z.b. signaturen auf basis von ldap-daten erstellen, aber an dem ding verzweifel ich so langsam ;)

 

dankbar für hilfe

g1n

Link zu diesem Kommentar

Dein Script hat ein paar kleine Fehler!

- Deine LDAP-Abfrage funktioniert so nicht korrekt.

- Wenn sie denn DAten liefern würde, würde sie ja nur einen einzigen Wert zurückgeben!

 

So funktionierts bei mir:

Set objRootDSE = GetObject("LDAP://RootDSE")
strDomain = objRootDSE.Get("DefaultNamingContext")

qQuery = "LDAP://CN=Computers," & strDomain & ""
Set objComputer = GetObject(qQuery)

For each Computer in objComputer
 Name = Computer.Name
 Description = Computer.Description
 objfile.write Name & Description & vbCrLf

next

 

...den Teil mit dem File öffnen noch über das "For each..", unter das "next" noch das File schliessen, fertig.

Link zu diesem Kommentar

@cybquest, ja beschäftige mich erst seit wenigen wochen mit VBS, deshalb sind fehler

nahezu vorprogrammiert ;)

 

hab das skript noch meinen bedürfnissen angepasst (exportpfad, OUs etc.) und nun lüppts prima. final schaut so aus:

 

Set objRootDSE = GetObject("LDAP://RootDSE")
strDomain = objRootDSE.Get("DefaultNamingContext")

qQuery = "LDAP://OU=XYZ,OU=UVW," & strDomain & ""
Set objComputer = GetObject(qQuery)

Set objShell = CreateObject("WScript.Shell")
FolderLocation = "C:\myexportr00t\"
TXTFileString = FolderLocation & "Rechner123.xls"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(TXTFileString,True)
objFile.Close
Set objFile = objFSO.OpenTextFile(TXTFileString, 2)

For each Computer in objComputer
 cn = Computer.cn
 Description = Computer.Description
 objfile.write cn & "	" & "	" & Description & vbCrLf
next

qQuery = "LDAP://OU=123,OU=456," & strDomain & ""
Set objComputer = GetObject(qQuery)

For each Computer in objComputer
 cn = Computer.cn
 Description = Computer.Description
 objfile.write cn & "	" & "	" & Description & vbCrLf
next
objFile.Close

 

kam noch eine OU dazu, die eine andere rechnergruppe enthält...so is alles schön einer liste.

 

danke!

g1n

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...