frankball
Goto Top

Einen Prozess auf allen Rechner einer Domäne finden

Hallo an alle !

In unserer Domäne (Windows) mit XP - Clients kommt es immer mal wieder vor, dass für Nicht - Microsoft - Software Updates eingespielt werden muss, die zum Teil darauf besteht, dass kein User während des Updates angemeldet ist. Ich suche ein Tool, dass für alle (bzw. eine Liste von Rechnern), auf dem jeweiligen Rechner prüft, ob diese Software läuft (ergo diese in benutzung ist). Gibt es so etwas ? Darf sogar was kosten

Beste Grüße

Content-ID: 160604

Url: https://administrator.de/forum/einen-prozess-auf-allen-rechner-einer-domaene-finden-160604.html

Ausgedruckt am: 23.12.2024 um 05:12 Uhr

bastla
bastla 11.02.2011 um 15:24:03 Uhr
Goto Top
Hallo frankball!

Wenn Du eine Domäne hast, warum verteilst Du die Updates nicht per GPO oder über ein Startup-Script?

Grüße
bastla
frankball
frankball 11.02.2011 um 15:43:00 Uhr
Goto Top
Würde ich ja, wenn das so einfach wäre, es handelt sich bei allen betroffenene Softwarepaketen um solche, die zentral vom Admin eingespielt werden muss und die dann Datenbankänderungen vornimmt. Das mache ich an meinem Verwaltungsrechner, muss aber halt wissen, wer noch damit arbeitet, damit da keine Probleme mit den Datenbanken auftreten
Kim
Kim 11.02.2011 um 15:50:08 Uhr
Goto Top
Du könntest das ganze aber auch scripten und zum Beispiel via VBS abfragen ob kein User angemeldet ist.

Da gibts mehrere Mechanismen z.B. auch remote über wmi, psloggedon...

Habe das ganze mal für ein Softwareverteilungssystem in einem etwas größeren Umfang in vbs umgesetzt, habe ich aber grad nicht zur Hand. Solltest aber mit der Suche auf diesem Board sicherlich fündig werden ;)

Gruß
Kim
laster
laster 11.02.2011 um 19:11:13 Uhr
Goto Top
Hallo,

liste aller Rechner in Deiner Domäne
dsquery computer -o rdn  > rechnerliste.txt

und dann die Rechner in der Liste per PSList.exe auf die Tasks prüfen:
for /F %%i IN (rechnerliste.txt) do call :TESTA %%i 
goto ENDE 

:TESTA 
pslist \\%1 > "Rechner_%1_plist.txt"  
goto :EOF

:ENDE

so oder ähnlich...

vG
LS
bastla
bastla 11.02.2011 um 19:17:54 Uhr
Goto Top
@laster
Dann aber besser gleich gezielt:
for /f %%i in (rechnerliste.txt) do pslist "\\%%i" 2>nul|findstr /i /b /c:"prozessname">nul && echo %%i
@frankball
Sorry, hatte die Frage (aber schon ganz) falsch interpretiert ...

Grüße
bastla
60730
60730 11.02.2011 um 23:43:06 Uhr
Goto Top
moin,

nix gegen die Frage und die bereits geschriebenen Antworten....(die sich haargenau an die Frageformulierung in der Überschrift halten)

...aber Aber.....

Mit dem PSLIST Weg erkennst du nur, ob zu dem Zeitpunkt, wo die Abfrage läuft, ob ein eingeschalteter Rechner zu dem Zeitpunkt dieses Programm benutzt.
*,Rechner aus
  • Rechner gerade beim booten oder herunterfahren
  • User arbeitet gerade nicht mit der Software
und schon sind es 3 Gründe, wo die Abfrage in die Unterhose geht.

Oder steh ich auf dem Schlauch?

Wenn das eh eine zentrale Datenbank Anwendung sein sollte, dann gäbe es doch die Variante Frage den DB Server - wer die DB offen hat.
Es geht nix über eine gute aktuelle Netzwerkdokumentation face-wink

Gruß
bastla
bastla 11.02.2011 um 23:47:00 Uhr
Goto Top
@t-mo
Ein wenig nachbessern geht zwar noch:
for /f %%i in (rechnerliste.txt) do ping -n 1 "%%i" >nul && pslist "\\%%i" 2>nul|findstr /i /b /c:"prozessname">nul && echo %%i
- aber Dein Ansatz klingt für mich plausibler ...

Grüße
bastla
frankball
frankball 14.02.2011 um 15:34:25 Uhr
Goto Top
Na ja, ist halt alles noch nicht wirklich die perfekte Lösung. Die Batchdatei läuft, dauert mir aber zu lange, also werd ich wol den Weg des geringsten Widerstandes gehen und den DB-Server befragen.