Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Systeminfo (CMD) in VBScript ausführen -.-

Frage Entwicklung VB for Applications

Mitglied: gonlife

gonlife (Level 1) - Jetzt verbinden

19.11.2007, aktualisiert 20.11.2007, 9673 Aufrufe, 4 Kommentare

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

01.
Dim arrComputer(255) 
02.
 
03.
Set objExcel = CreateObject("Excel.Application") 
04.
objExcel.Visible = false 
05.
objExcel.Workbooks.Open ("F:\sysnfo\Computername.xls") 
06.
objExcel.Sheets("Computer").Select 
07.
Zeile = 1 
08.
Spalte = 1 
09.
arrayplatz = 0 
10.
 
11.
 
12.
 
13.
Do While ComputerName <> "" 
14.
  ComputerName = objExcel.Cells(Spalte, Zeile).Value 
15.
  arrComputer(arrayplatz) = ComputerName 
16.
  arrayplatz = arrayplatz + 1 
17.
  zeile = zeile + 1 
18.
Loop 
19.
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;

01.
For each Computer in arrComputer 
02.
 
03.
  Set objShell = CreateObject("WScript.Shell") 
04.
  Set objExec = objShell.Exec("ping -n 1 -w 1000 " & strTarget) 
05.
   
06.
  Zeile = Arrayplatz + 1 'ist ja 0 am anfang 
07.
   
08.
  strPingResults = LCase(objExec.StdOut.ReadAll) 
09.
 
10.
[/code] 
11.
 
12.
Bis hierher funktionierts. Ich komm auch nur hier rein, wenn ich den Rechner erreicht habe. 
13.
 
14.
[code] 
15.
  If InStr(strPingResults, "reply from") Then 
16.
   objExcel.Cells(Zeile, 3).Value = "Replyed" 
17.
'####################### 
18.
'### Nun der Teil der nicht geht!!1# 
19.
'####################### 
20.
'####################### 
21.
'### Die Rechte stimmen####### 
22.
 
23.
Set objShell1 = CreateObject("WScript.Shell") 
24.
Set objExec1 = objShell.Exec("systeminfo /s " & Computer & " /U Domain\Administrator /P Passwort /FO LIST > F:\Systeminfo\" & Computer & ".txt")  
25.
  Else 
26.
   objExcel.Cells(Zeile, 3).Value = "No respond" 
27.
  End if 
28.
 
29.
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
Mitglied: bastla
19.11.2007 um 18:12 Uhr
Hallo gonlife und willkommen im Forum!

Wie sieht's mit
01.
Set objExec1 = objShell.Exec("cmd /c systeminfo /s " & Computer & " /U Domain\Administrator /P Passwort /FO LIST > F:\Systeminfo\" & Computer & ".txt")
aus (wobei mir allerdings ein
01.
WshShell.Run "cmd /c systeminfo /s " & Computer & " /U Domain\Administrator /P Passwort /FO LIST > F:\Systeminfo\" & Computer & ".txt", 0
besser gefiele ...)?

Grüße
bastla
Bitte warten ..
Mitglied: gonlife
20.11.2007 um 10:29 Uhr
Danke für deine schnelle Hilfestellung und für die herzliche Begrüssung. Hat soweit geklappt, was nicht heisst das es funktioniert :D Ich muss in den Computern in den richtlinien beibringen, dass sie noch den RPC Dienst gestartet haben.

"ERROR: The RPC server is unavailable" grml. man sieht, das viele Leute an diesem Netzwerk gebastelt haben (kein corperate "design")

Aber was anderes:

Ich habe eine Host datei, die ich gerne ändern möchte; es geht dafür um die Verbindung mit Lotus Notes; zum einen in der Domäne, zum anderen via UMTS durch einen SSH Tunnel.

Nun, in der Domäne heisst die Datei:

01.
#comment comment comment 
02.
#comment comment comment 
03.
127.0.0.1            localhost 
04.
192.168.0.1        lotus1 
05.
192.168.0.2        lotus2
mein Batchfile müsste danach nur die das Batchfile (mit Administratorrechten!!!) ändern in

01.
#comment comment comment 
02.
#comment comment comment 
03.
127.0.0.1            localhost 
04.
127.0.0.1        lotus1 
05.
192.168.0.2        lotus2
D.h. ich müsste es auslesen, welcher Eintrag drin ist, und es dementsprechend Switchen :>, immer und immer wieder in etwa:

01.
if zeilesowieso = "127.0.0.1" then 
02.
   write zeilesowieso "192.168.0.1 
03.
else 
04.
if zeilesowieso = "192.168.0.1" then 
05.
   write zeilesowieso "127.0.0.1" 
06.
else 
07.
   write zeilesowieso "192.168.0.1" 
08.
end if 
09.
end if
So mal so von der Struktur her gesehen :>

Grüsse

Gonlife
Bitte warten ..
Mitglied: bastla
20.11.2007 um 10:41 Uhr
Hallo gonlife!

Aber was anderes:
... würde besser in einen anderen Thread passen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
20.11.2007 um 10:55 Uhr
@bastla, @gonlife

... würde besser in einen anderen Thread passen.

Jepp. Unterstütze ich. Auch dadurch, dass ich diesen Thread jetzt schliesse.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell-Script als Admin über CMD ausführen (2)

Frage von Tobiased zum Thema Batch & Shell ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Windows Server
gelöst Skript per GPO ausführen - Berechtigungen? (13)

Frage von honeybee zum Thema Windows Server ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...