Systeminfo (CMD) in VBScript ausführen -.-
Hallo liebe (hoff ich doch) Leute
Ich habe ein Problem, aber zuerst einmal, was ich machen will:
Ich weiss leider nicht, was für Rechner meine Benutzer haben, bzw. Wieviel Memory Sie haben, CPU, Betriebssystem (W2k oder XP), Was für Office sie draufhaben etc. Alles das liefert mir Systeminfo.
Nun, um meine lieben Benutzer nicht stören zu müssen (was vermutlich schneller ginge), und mit einem USB Stick herumrennen zu müssen, damit ich bei jeden Benutzer lokal "Systeminfo /S localhost /U Computername/Administator /P einschönespw /FO List > USBSTiCK/folder/%computername%" schreiben muss, wollte ich ein VBScript schreiben.
Teil eins des Scriptes:
Ich habe beim Active Directory alle Computer exportiert (textfile), dieses Textfile danach in Excel Importiert, das sieht in etwa so aus :>
+--+--------------------+-------------------+
| |A |B | C...
+-------------------------+-------------------+
| 1|Laptop1 |Computer |
+---+--------------------+-------------------+
| 2|Desktop1 |Computer |
+---+--------------------+-------------------+
| ...
Ich lese diese Datei relativ einfach aus
So, nun hätten wir unser Array gefüllt mit den Computernamen (atm 0-30)
Nun will ich von jedem Rechner ein Systeminfo haben, dazu muss ich wissen ob der Rechner am Netz ist;
Also, es geht hier wirklich um den Systeminfo teil, der andere teil wurde nun von mir hier nur sinngemäss und in etwa geschrieben, er ist getestet und funktioniert. Nur das mit dem Systeminfo funktioniert nicht (keine Fehler, er machts einfach nicht).
Grüsse
Gonlife
Ich habe ein Problem, aber zuerst einmal, was ich machen will:
Ich weiss leider nicht, was für Rechner meine Benutzer haben, bzw. Wieviel Memory Sie haben, CPU, Betriebssystem (W2k oder XP), Was für Office sie draufhaben etc. Alles das liefert mir Systeminfo.
Nun, um meine lieben Benutzer nicht stören zu müssen (was vermutlich schneller ginge), und mit einem USB Stick herumrennen zu müssen, damit ich bei jeden Benutzer lokal "Systeminfo /S localhost /U Computername/Administator /P einschönespw /FO List > USBSTiCK/folder/%computername%" schreiben muss, wollte ich ein VBScript schreiben.
Teil eins des Scriptes:
Ich habe beim Active Directory alle Computer exportiert (textfile), dieses Textfile danach in Excel Importiert, das sieht in etwa so aus :>
+--+--------------------+-------------------+
| |A |B | C...
+-------------------------+-------------------+
| 1|Laptop1 |Computer |
+---+--------------------+-------------------+
| 2|Desktop1 |Computer |
+---+--------------------+-------------------+
| ...
Ich lese diese Datei relativ einfach aus
Dim arrComputer(255)
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = false
objExcel.Workbooks.Open ("F:\sysnfo\Computername.xls")
objExcel.Sheets("Computer").Select
Zeile = 1
Spalte = 1
arrayplatz = 0
Do While ComputerName <> ""
ComputerName = objExcel.Cells(Spalte, Zeile).Value
arrComputer(arrayplatz) = ComputerName
arrayplatz = arrayplatz + 1
zeile = zeile + 1
Loop
arrayplatz = 0
So, nun hätten wir unser Array gefüllt mit den Computernamen (atm 0-30)
Nun will ich von jedem Rechner ein Systeminfo haben, dazu muss ich wissen ob der Rechner am Netz ist;
For each Computer in arrComputer
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ping -n 1 -w 1000 " & strTarget)
Zeile = Arrayplatz + 1 'ist ja 0 am anfang
strPingResults = LCase(objExec.StdOut.ReadAll)
[/code]
Bis hierher funktionierts. Ich komm auch nur hier rein, wenn ich den Rechner erreicht habe.
[code]
If InStr(strPingResults, "reply from") Then
objExcel.Cells(Zeile, 3).Value = "Replyed"
'#######################
'### Nun der Teil der nicht geht!!1#
'#######################
'#######################
'### Die Rechte stimmen#######
Set objShell1 = CreateObject("WScript.Shell")
Set objExec1 = objShell.Exec("systeminfo /s " & Computer & " /U Domain\Administrator /P Passwort /FO LIST > F:\Systeminfo\" & Computer & ".txt")
Else
objExcel.Cells(Zeile, 3).Value = "No respond"
End if
Next
Also, es geht hier wirklich um den Systeminfo teil, der andere teil wurde nun von mir hier nur sinngemäss und in etwa geschrieben, er ist getestet und funktioniert. Nur das mit dem Systeminfo funktioniert nicht (keine Fehler, er machts einfach nicht).
Grüsse
Gonlife
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73919
Url: https://administrator.de/contentid/73919
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo gonlife und willkommen im Forum!
Wie sieht's mit
aus (wobei mir allerdings ein
besser gefiele ...)?
Grüße
bastla
Wie sieht's mit
Set objExec1 = objShell.Exec("cmd /c systeminfo /s " & Computer & " /U Domain\Administrator /P Passwort /FO LIST > F:\Systeminfo\" & Computer & ".txt")
WshShell.Run "cmd /c systeminfo /s " & Computer & " /U Domain\Administrator /P Passwort /FO LIST > F:\Systeminfo\" & Computer & ".txt", 0
Grüße
bastla