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

Batch - Remote PC Daten auslesen

Frage Entwicklung Batch & Shell

Mitglied: Wolfshund

Wolfshund (Level 1) - Jetzt verbinden

22.04.2009, aktualisiert 18.10.2012, 6400 Aufrufe, 4 Kommentare

Welche Daten kann man mit hilfe einer Batch über einen, sich im Netzwerk befindenen PC, herrausfinden?

Hallo zusammen,

ich probiere im Moment eine Batch datei zu schreiben, mit der ich verschiedenste Daten über einen Remote PC herausfinden kann.
Sinn und Zweck der ganzen Sache soll eine einfache inventarisierung sein.
Es ist auch nur ein Versuch Zum austesten was so funktioniert und was nicht.

Besonderheit ist, dass ich die Batch Datei auf meinem PC ausführen möchte und der mir dann eine .txt Datei lokal speichert mit den Informationen über den Remote Computer.


Mein System: Windows XP SP3 - in einer Domäne (AD)
Remote Systeme: Windows XP SP3 Windows XP SP2 Windows2000


Hier zuerst der momentane Code. Gewisse Schnipsel sind natürlich auch "nur kopiert" und nicht selber geschrieben.
Ich habe ein paar Kommentare zugefügt um näher zu erläutern.

01.
@echo off 
02.
echo. 
03.
echo - Daten Remote Auslesen - 
04.
echo. 
05.
echo. 
06.
::Benutzername/Passwort für Remote Zugriffsrechte? 
07.
::echo - Login: - 
08.
::echo. 
09.
::set /p user=Username: 
10.
::Set /p pw=Password: 
11.
echo. 
12.
echo. 
13.
set /p pchost=Ziel Host: 
14.
cls 
15.
echo. 
16.
echo - Remote Zugriff auf %pchost% - 
17.
echo. 
18.
echo. 
19.
echo -------------------------- >> Daten_%pchost%.txt 
20.
echo Daten von %pchost% >> Daten_%pchost%.txt 
21.
echo -------------------------- >> Daten_%pchost%.txt 
22.
echo. >> Daten_%pchost%.txt 
23.
echo. >> Daten_%pchost%.txt 
24.
 
25.
 
26.
::Liest natürlich die lokale Daten aus, da Befehl lokal ausgeführt wird. 
27.
 
28.
::IP-Adresse auslesen: 
29.
echo IP-Adresse auslesen... 
30.
echo set /a s=%%s%%+1 > ip.bat 
31.
echo set ip%%s%%=%%1 >> ip.bat 
32.
ipconfig /all | findstr "IP-Ad" > ip.txt 
33.
set s=0 
34.
for /f "tokens=14*" %%i in (ip.txt) do call ip %%i%%j 
35.
del ip.txt 
36.
del ip.bat 
37.
echo IP-Adresse: %ip1% >> Daten_%pchost%.txt 
38.
echo. >> Daten_%pchost%.txt 
39.
echo. >> Daten_%pchost%.txt 
40.
 
41.
 
42.
::Liest natürlich die lokale Daten aus, da Befehl lokal ausgeführt wird. 
43.
 
44.
::MAC-Adresse auslesen: 
45.
echo Netzwerkadapter auslesen... 
46.
echo MAC-Adresse auslesen... 
47.
echo Netzwerkadapter / MAC-Adressen: >> Daten_%pchost%.txt 
48.
getmac /s %ip1% /v /FO List >> Daten_%pchost%.txt 
49.
echo. >> Daten_%pchost%.txt 
50.
echo. >> Daten_%pchost%.txt 
51.
 
52.
 
53.
:: Systeminfo /S %ip1% /U Domäne\Benutzer /P Passwort ? 
54.
 
55.
::Systeminfo auslesen: 
56.
echo Systeminfo auslesen... 
57.
Systeminfo /S %ip1% >> systeminfo.txt 
58.
echo    - Hostname... 
59.
findstr "Hostname" systeminfo.txt >> Daten_%pchost%.txt 
60.
echo    - Betriebssystemname... 
61.
findstr "Betriebssystemname" systeminfo.txt >> Daten_%pchost%.txt 
62.
echo    - Betriebssystemversion... 
63.
findstr "Betriebssystemversion" systeminfo.txt >> Daten_%pchost%.txt 
64.
echo    - Ursprüngliches Installationsdatum... 
65.
findstr "Ursprüngliches Installationsdatum" systeminfo.txt >> Daten_%pchost%.txt 
66.
echo    - Systemhersteller... 
67.
findstr "Systemhersteller" systeminfo.txt >> Daten_%pchost%.txt 
68.
echo    - Systemmodell... 
69.
findstr "Systemmodell" systeminfo.txt >> Daten_%pchost%.txt 
70.
echo    - Gesamter physikalischer Speicher... 
71.
findstr "Gesamter" systeminfo.txt >> Daten_%pchost%.txt 
72.
echo    - Domaene... 
73.
findstr "Dom„ne:" systeminfo.txt >> Daten_%pchost%.txt 
74.
echo    - Anmeldeserver... 
75.
findstr "Anmeldeserver" systeminfo.txt >> Daten_%pchost%.txt 
76.
echo. >> Daten_%pchost%.txt 
77.
echo. >> Daten_%pchost%.txt 
78.
del systeminfo.txt 
79.
 
80.
 
81.
 
82.
::Deaktivierte Dienste abfragen: 
83.
::wmic /node:%ip1% service where startmode='disabled' get caption, state 
84.
 
85.
::IP Adresse und DNS Server abfragen: 
86.
::wmic /node:%ip1% path win32_networkadapterconfiguration where "IPenabled='true'" get ipAddress,dnsserversearchorder 
87.
 
88.
::HDD Auslesen (Name, Freespace, FileSystem, Size) 
89.
echo Hard Disk Drive auslesen... 
90.
wmic /node:%ip1% logicaldisk where "drivetype=3" get Name,Freespace,FileSystem,Size >> temphdd.txt 
91.
echo (H)ard (D)isk (D)rive: >> Daten_%pchost%.txt 
92.
more temphdd.txt >> Daten_%pchost%.txt 
93.
del temphdd.txt 
94.
echo. >> Daten_%pchost%.txt 
95.
echo. >> Daten_%pchost%.txt 
96.
 
97.
::Arbeitsspeicher auslesen (Über Systeminfo) 
98.
::wmic /node:%ip1% os get totalvirtualmemorysize 
99.
 
100.
 
101.
 
102.
::Task auslesen 
103.
echo Task(s) auslesen... 
104.
echo z.Z. laufende Tasks: >> Daten_%pchost%.txt 
105.
tasklist /s %pchost% >> Daten_%pchost%.txt 
106.
echo. >> Daten_%pchost%.txt 
107.
echo. >> Daten_%pchost%.txt 
108.
 
109.
 
110.
set Programm=icq.exe 
111.
 
112.
tasklist |find /i "%Programm%" >nul 
113.
if %errorlevel% == 0 ( 
114.
echo Das Programm "%Programm%" laeuft gerade! 
115.
) else ( 
116.
echo Das Programm "%Programm%" laeuft gerade nicht! 
117.
118.
 
119.
 
120.
echo. 
121.
echo [Any Key] Programm Beenden 
122.
pause>NUL
Ich weiß... ein wenig viel. Aber ich hoffe es gibt da n Trick - irgendwas schlaues, was mir noch nicht eingefallen ist oder ich es noch nicht im Netz gefunden habe ^^

Ich danke schonmal im Voraus für nette Antworten


mit freundlichen grüßen
Wolfshund

ps.: Falls jemandem noch was einfallen sollte, was man so abfragen könnte, über jeden post dankbar!
Mitglied: Logan000
23.04.2009, aktualisiert 18.10.2012
Moin Moin

Ich bin kein Batch Profi. Ich denke aber das die Möglichkeiten unter VBS etwas umfangreicher sind.
Schau mal hier:
http://www.quaschtel.de/wsh/wmi.htm
oder hier
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr= ...

Ansonsten würde ich der diese Tutorial nahelegen: http://www.administrator.de/wissen/computerinventur-per-bginfo-%28rewor ...
Oder natürlich Tools wie Loginventory, AdvancedRemoteInfo oder Spiceworks.

Gruß L.
Bitte warten ..
Mitglied: Scroller
23.04.2009 um 10:10 Uhr
Hi,

du kannst das Komandozeilenprogramm wmic in batch verwenden
um detailierte informationen am prompt über deinen oder einen remote-pc zu bekommen. Bsp. infos zum Betiebssystem (hier:letzter neustart)

wmic os get lastbootuptime


gruss scroller
Bitte warten ..
Mitglied: Wolfshund
23.04.2009 um 13:53 Uhr
Hallo zusammen,

ich hab heute nochmal ein wenig rumprobiert und wollte euch meine Lösung mal präsentieren. Eventuell hat ja sogar jemand eine verwendung dafür:

Zuerstmal erstelle ich Remote einen Task auf dem anderen System (Bisher nur bei Windows XP SP3 getestet):

01.
@echo off 
02.
echo. 
03.
echo -------------------------- 
04.
echo   Task Remote erstellen 
05.
echo -------------------------- 
06.
echo. 
07.
echo "\\Server\Freigabe\test.bat" 
08.
echo. 
09.
echo. 
10.
set /p pchost=Hostname: 
11.
echo. 
12.
set /p user=Administrator  User (Bsp.: Domaene\Administrator): 
13.
set /p pw=Passwort: 
14.
::set /p task=UNC Pfad zum Task: 
15.
echo. 
16.
echo. 
17.
echo Task "Auslesen" wird auf %pchost% erstellt... 
18.
schtasks /create /s %pchost% /U %user% /P %pw% /RU %user% /RP %pw% /tn "Auslesen" /tr \\Server\Freigabe\test.bat /sc EINMAL /st 12:00:00 
19.
echo. 
20.
echo Task "Auslesen" mit beliebiger Taste auf %pchost% ausführen... 
21.
pause > NUL 
22.
schtasks /run /S %pchost% /U %user% /P %pw% /TN "Auslesen" 
23.
echo. 
24.
echo. 
25.
echo Programm Beenden mit beliebiger Taste... 
26.
pause > NUL
(Pfade aus Sicherheitsgründen geändert )
Also diese Datei erstellt erstmal einen Task und führt diesen dann auch aus.

Dann die Datei, die ausliest - da hat sich noch nicht soviel drann getan, weil ich zuerst das Remote Programm bearbeitet hab:

01.
@echo off 
02.
echo. 
03.
echo -------------------------- >> \\server\freigabe\logfile.txt 
04.
echo Daten von %computername% >> \\server\freigabe\logfile.txt 
05.
echo -------------------------- >> \\server\freigabe\logfile.txt 
06.
echo. >> \\server\freigabe\logfile.txt 
07.
echo. >> \\server\freigabe\logfile.txt 
08.
 
09.
 
10.
::IP-Adresse auslesen: 
11.
echo IP-Adresse auslesen... 
12.
echo set /a s=%%s%%+1 > ip.bat 
13.
echo set ip%%s%%=%%1 >> ip.bat 
14.
ipconfig /all | findstr "IP-Ad" > ip.txt 
15.
set s=0 
16.
for /f "tokens=14*" %%i in (ip.txt) do call ip %%i%%j 
17.
del ip.txt 
18.
del ip.bat 
19.
echo IP-Adresse: %ip1% >> \\server\freigabe\logfile.txt 
20.
echo. >> \\server\freigabe\logfile.txt 
21.
echo. >> \\server\freigabe\logfile.txt 
22.
 
23.
 
24.
::MAC-Adresse auslesen: 
25.
echo Netzwerkadapter auslesen... 
26.
echo MAC-Adresse auslesen... 
27.
echo Netzwerkadapter / MAC-Adressen: >> \\server\freigabe\logfile.txt 
28.
getmac /s %ip1% /v /FO List >> \\server\freigabe\logfile.txt 
29.
echo. >> \\server\freigabe\logfile.txt 
30.
echo. >> \\server\freigabe\logfile.txt 
31.
 
32.
 
33.
 
34.
::Systeminfo auslesen: 
35.
echo Systeminfo auslesen... 
36.
Systeminfo /S %ip1% >> systeminfo.txt 
37.
echo    - Hostname... 
38.
findstr "Hostname" systeminfo.txt >> \\server\freigabe\logfile.txt 
39.
echo    - Betriebssystemname... 
40.
findstr "Betriebssystemname" systeminfo.txt >> \\server\freigabe\logfile.txt 
41.
echo    - Betriebssystemversion... 
42.
findstr "Betriebssystemversion" systeminfo.txt >> \\server\freigabe\logfile.txt 
43.
echo    - Ursprüngliches Installationsdatum... 
44.
findstr "Ursprüngliches Installationsdatum" systeminfo.txt >> \\server\freigabe\logfile.txt 
45.
echo    - Systemhersteller... 
46.
findstr "Systemhersteller" systeminfo.txt >> \\server\freigabe\logfile.txt 
47.
echo    - Systemmodell... 
48.
findstr "Systemmodell" systeminfo.txt >> \\server\freigabe\logfile.txt 
49.
echo    - Gesamter physikalischer Speicher... 
50.
findstr "Gesamter" systeminfo.txt >> \\server\freigabe\logfile.txt 
51.
echo    - Domaene... 
52.
findstr "Dom„ne:" systeminfo.txt >> \\server\freigabe\logfile.txt 
53.
echo    - Anmeldeserver... 
54.
findstr "Anmeldeserver" systeminfo.txt >> \\server\freigabe\logfile.txt 
55.
echo. >> \\server\freigabe\logfile.txt 
56.
echo. >> \\server\freigabe\logfile.txt 
57.
del systeminfo.txt 
58.
 
59.
 
60.
 
61.
::Deaktivierte Dienste abfragen: 
62.
::wmic /node:%ip1% service where startmode='disabled' get caption, state 
63.
 
64.
::IP Adresse und DNS Server abfragen: 
65.
::wmic /node:%ip1% path win32_networkadapterconfiguration where "IPenabled='true'" get ipAddress,dnsserversearchorder 
66.
 
67.
 
68.
 
69.
::HDD Auslesen (Name, Freespace, FileSystem, Size) 
70.
echo Hard Disk Drive auslesen... 
71.
wmic /node:%ip1% logicaldisk where "drivetype=3" get Name,Freespace,FileSystem,Size >> temphdd.txt 
72.
echo (H)ard (D)isk (D)rive: >> \\server\freigabe\logfile.txt 
73.
more temphdd.txt >> \\server\freigabe\logfile.txt 
74.
del temphdd.txt 
75.
echo. >> \\server\freigabe\logfile.txt 
76.
echo. >> \\server\freigabe\logfile.txt 
77.
 
78.
::Arbeitsspeicher auslesen (Über Systeminfo) 
79.
::wmic /node:%ip1% os get totalvirtualmemorysize 
80.
 
81.
 
82.
 
83.
::Task auslesen 
84.
echo Task(s) auslesen... 
85.
echo z.Z. laufende Tasks: >> \\server\freigabe\logfile.txt 
86.
tasklist /s %computername% >> \\server\freigabe\logfile.txt 
87.
echo. >> \\server\freigabe\logfile.txt 
88.
echo. >> \\server\freigabe\logfile.txt 
89.
 
90.
 
91.
set Programm=mcshield.exe 
92.
 
93.
tasklist |find /i "%Programm%" >nul 
94.
if %errorlevel% == 0 ( 
95.
echo Das Programm "%Programm%" laeuft gerade! >> \\server\freigabe\logfile.txt 
96.
) else ( 
97.
echo Das Programm "%Programm%" laeuft gerade nicht! >> \\server\freigabe\logfile.txt 
98.
99.
echo. >> \\server\freigabe\logfile.txt 
100.
 
101.
echo. 
102.
echo [Any Key] Programm Beenden 
103.
pause>NUL
Hat noch jemand Ideen? Ratschläge oder sonstiges? Würde mich über alles freuen


Mit freundlichen Grüßen
Wolfshund

ps.: Ein Problem ist noch aufgetaucht:
Er erstellt die logfile wie er soll mit allen angefragten Daten. Aber der Task wird beim Client nicht beendet. Er wird dauerhaft ausgeführt.
(Den Wald vor lauter Bäumen nicht gesehen ... am ende stand noch "pause>NUL" ... natürlich erwartet der dann eine eingabe. entfernt. läuft.

Bleibt nur noch:
Der User bekommt keine Meldung darüber, dass was ausgeführt wird. Auch das CMD-Fenster öffnet sich nicht. (Soll ja auch so sein - aber warum?)
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Windows Tools
AppwizRemote - Appwiz.cpl auf einem Remote PC

Link von evgkop zum Thema Windows Tools ...

Windows Server
Flickercode remote am Terminalserver auslesen funktioniert nicht (9)

Frage von immobrauch zum Thema Windows Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...