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

Ein bestimmtes Programm vom Server aus , auf allen Clients in der Domäne abschalten bzw. schliessen

Frage Microsoft Windows Server

Mitglied: Dentologicum

Dentologicum (Level 1) - Jetzt verbinden

08.02.2012 um 09:24 Uhr, 2889 Aufrufe, 14 Kommentare

Ziel dessen ist es bei einem Programm ein Update auf dem Server durchzuführen, wobei alle angemeldeten Clients an diesem Programm sich schliessen und das Update erfolgen kann.
Dies ist lt der Software "Evident" - PRaxissoftware, zwingend nötig und muss so sein.

Da es in der Domain 2 Reale Standorte gibt getrennt ca 250 Meter ist es schwer das per "Turnschuh" zu realisieren

Ist es möglich das, wenn das Programm ein Update auf dem Server durchführen will , alle angemeldeten Clients an diesem Programm sich schliessen und das Update erfolgen kann.
Dies ist lt der Software "Evident" - PRaxissoftware, zwingend nötig und muss so sein.

Ich habe schon gegoogelt wie ein Weltmeister, aber bin auch leider nicht so der Script-Gott das ich mir eine Batch von 0 an selber erstellen kann.

Habe schon das Programm pskill.exe probiert aber es ist nicht das was ich gesucht habe.

Hat wer eine Idee?

LG
Martin
Mitglied: LordXearo
08.02.2012 um 09:33 Uhr
Hallo,

sollten die Updates nicht sowieso besser ausgeführt werden, wenn keiner am arbeiten ist?

Ansonsten könnte man leicht mit powershell eine COmputerliste abarbeiten, die nach der "Programm.exe" sucht und wenn gefunden das Programm beendet.

Damit könnte man anfangen:

tasklist | find '"firefox'"

if($lastexitcode -eq 0){
....taskkill /IM "firefox.exe"'
}

Edit:

Im Prinzip muss man noch nicht mal überprüft werden ob das Programm läuft.

Achte dadrauf, dass das Skript unter einem Account ausgeführt wird, der auf allen Clients Admin Berechtigung hat.
Bitte warten ..
Mitglied: Dentologicum
08.02.2012 um 09:42 Uhr
Soweit richtig die Aussage, das keiner am arbeiten sein sollte aber zur Aufklärung dessen:

Dies ist eine Zahnklinik mit ca 71 Workstationen und 22 Röntgenapperate und Medizinsches Gebimsel, welche auch teilweise auf das Programm zugreifen.

ATM ist es so das im Neuen Gebäude (dahin wird umgezogen) ca 55 % davon stehen aber im alten Gebäude der Rest. Die Arbeitszeiten din generell 365 Tage im Jahr von 07:00 Uhr bis 22:00 Uhr im 4 Schichtbetrieb. von daher ist die Updatezeit begrenzt.

Wenn nun im Neuen Gebäude bescheid gesagt wird das in 30 Min das Update eingespielt wird (und glaub mir es ist oft gesagt worden) und man rüber läuft und im alten Gebäude dies auch sagen will kannste mit 10000%tiger Sicherheit davon ausgehen das wenn ich an den Server gehe (er steht im alten Gebäude *noch*) wieder irgendwo im neuen Gebäude einer wieder das Programm angeworfen hat auf dem PC oder aber eine Sterilisatiosgerät angemacht wurde...

Um diesen Umstand nun zu ändern suche ich halt eine LÖsung die es erlaubt dieses Programm auf einmal an allen CLients zu schliessen und zu beenden.

Das gute daran ist das wenn das Update läuft, kein Client sich anmelden kann weil das dann autom. verhindert wird, was einfach nur klappen soll ist der Befehl "Kill/stop oder sonstwas" --> Update starten --> nach Update können die CLients wieder rann.

LG
MArtin

EDIT:

wäre diese LÖsung auch per batch machbar? weil ich denke, man könnte daran ansetzen und dieses Script erweitern indem mann sagt

tasklist | find '"firefox'"
tasklist | find "evident'"

if($lastexitcode -eq 0){
....taskkill /IM "firefox.exe"'
}
if($lastexitcode -eq 0){
....taskkill /IM "evident.ex"'
}
Bitte warten ..
Mitglied: LordXearo
08.02.2012 um 09:55 Uhr
Ja mit Batch geht es auch, bisher habe ich auch noch keine PowerShell Funktion genutzt.

Gehe ich richtig in der Annahme, dass du noch nie richtig mit Batch gearbeitet hast? Also quasi am besten alles auf dem Silbertablett serviert bekommen?

Bisschen eigenleistung wäre nicht schlecht.
Bitte warten ..
Mitglied: 60730
08.02.2012 um 10:03 Uhr
moin,
Zitat von LordXearo:
Bisschen eigenleistung wäre nicht schlecht.
eine Grußformel hätts auch getan....
Die Arbeitszeiten din generell 365 Tage im Jahr von 07:00 Uhr bis 22:00 Uhr im 4 Schichtbetrieb. von daher ist die Updatezeit begrenzt.
Naja -also ehrlich.... von 22:01 bis 6:59 ist massenhaft Zeit

Und einen hab ich noch - mal eben alle rauswerfen, weil man dringend was aktualisieren muß - von dem man nicht weiß ob das Update funktioniert....
Ohne Sicher stellen zu können, das Kollege x nicht grade vom MC Donalds kommt und mal eben Programm y anwirft - ohne zu wisssen, dass da grade....


Geht mit Batch, aber sowas ist nicht mein Bereich.

Gruß
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 10:04 Uhr
Sali

Du könntest es auch mit pskill versuchen (schau dir mal die PsTools von SysInternals an).
Dort kannst du (wenn ich mich nicht irre) die Computer auch als Wildcard angeben, also \\*

Gruss
lousek
Bitte warten ..
Mitglied: LordXearo
08.02.2012 um 10:04 Uhr
Also ohne Überprüfung und Abfragen von Fehlern kannst du es einfach so machen.

01.
taskkill /S Client01 "evident.exe" 
02.
taskkill /S Client02 "evident.exe"
Schöner wäre es, die Clients in einer separaten txt Datei zu schreiben und davon zu lesen. Dann kannst du mittels Schleife immer eine Zeile einlesen und den Computernamen in einer Variable abspeichern. Die Variable benutzt du dann in deinem taskkill Befehl.
Bitte warten ..
Mitglied: LordXearo
08.02.2012 um 10:09 Uhr
Danke für deinen Beitrag, das ist mir auch alles durch den Kopf gegangen.
Bitte warten ..
Mitglied: Dentologicum
08.02.2012 um 10:20 Uhr
Zitat von LordXearo:
Ja mit Batch geht es auch, bisher habe ich auch noch keine PowerShell Funktion genutzt.

Gehe ich richtig in der Annahme, dass du noch nie richtig mit Batch gearbeitet hast? Also quasi am besten alles auf dem
Silbertablett serviert bekommen?

Bisschen eigenleistung wäre nicht schlecht.

Das habe ich so nicht gesagt und gemeint.....

NAtürlich ist Eigenleistung ein Teil dessen ich mir bewusst bin und auch bereit bin, nur ist der Anfang damit schwer einen guten aber auch produktiven Ansatz zu finden.
Bitte warten ..
Mitglied: 60730
08.02.2012 um 10:26 Uhr
Zitat von LordXearo:
Danke für deinen Beitrag, das ist mir auch alles durch den Kopf gegangen.

Und?
Dabei hast du doch sicher gemerkt, dass du dir ein Grab schaufelst?
Keine Ahnung, was die Software macht, wenn die einer beim patchen auf hat - bei irgendwas in einem Krankenhaus oder dort, wo es wirklich um Hopp oder Topp geht und nicht um so was popeliges, was meine Rechner/Kollegen veranstalten und es "nur" um Kohle geht - wenn ich selbst da schon meine Zweifel habe, dann hätte ich die an deiner Stelle in deiner Stelle erst recht.
Bitte warten ..
Mitglied: Lochkartenstanzer
08.02.2012 um 10:52 Uhr
Zitat von 60730:
> Zitat von LordXearo:
> ----
> Die Arbeitszeiten din generell 365 Tage im Jahr von 07:00 Uhr bis 22:00 Uhr im 4 Schichtbetrieb. von daher ist die Updatezeit
begrenzt.
Naja -also ehrlich.... von 22:01 bis 6:59 ist massenhaft Zeit


Eben,

  • Anmeldezeit passend einstellen (Nach 22.00 keine Anmeldung mehr möglich).
  • Mit Shutdown per Holzhammer alle Clients runterfahren.
  • Updates einspielen
  • Wenn man nett ist, morgens um 7 die Clients wieder mit WOL hochfahren.

Mit ein bischen Übung kann man das sogar von zuhause vom Bett aus.

lks
Bitte warten ..
Mitglied: Karo
08.02.2012 um 11:37 Uhr
Hoi,

gebe mal meinen Senf dazu, halte mich aber mal mit den hier geäußerten Bedenken zurück, denen ich mich jedoch anschließe.

Du solltest auch den zeitlichen Askpekt des Batchlaufes nicht ausgrenzen, wenn Du die Sachen hintereinander im Batch abfackelst. Da Du immer einen zeitlichen Verzug bei Taskkill, PSKILL, PSEXEC und Co hast kann das bei der Menge der Maschinen schon recht langwierig sein. Haust Du das Update erst dann drauf wenn alle Maschinen durch sind, kann das Programm an anderen schon wieder laufen. Also solltest Du parallel arbeiten.
Du könntest die Sachen allerdings auch per Scheduled Task auf den Maschinen abfackeln, die damit gleichzeitig loslaufen, bei dem die KILL-Batch auf einem Share liegt und damit flexibel für weitere Eingriffe angepasst werden können. Die Batch könnte z.B. auch eine Textdatei abarbeiten in denen die zu killenden Tasks abgelegt sind und und und ...

....ach es gibt so viele Möglichkeiten.....

bye Karo
Bitte warten ..
Mitglied: Lochkartenstanzer
08.02.2012 um 11:48 Uhr
es kann dem TO auch blühen, daß jemand nachdem der Batch angelaufen ist, daherkommt und eine Kiste neu anwirft udn dort den Client startet, wie es schon beim "Broadcast" per Turnschuh auch schon der Fall ist.

Die einzig sichere Methode ist imho alle rauszuschmeißen und dafür zu sorgen, daß die nicht mehr reinkönnen, bevor das update erledigt ist. (siehe auch mein obiges posting).

lks
Bitte warten ..
Mitglied: ricochico
08.02.2012 um 11:49 Uhr
Hallo Dentologicum,

nur mal so als Ergängzung:
Ich würde vorher mit net send eine Nachricht an die User senden und sie benachrichtigen, dass Evident beendet werden muss für das Update am Server.
Das sie selbst das Evident beenden sollen oder es automatisch in 1 Minute geschlossen wird.
Dann kannst du Evident ja per taskkill beenden.

Bedenke aber, ob du damit nicht Datensätze oder sonstiges beschädigst, wenn du auf so vielen Rechner das geöffnete Programm so beendest.
Bitte warten ..
Mitglied: Karo
08.02.2012 um 12:05 Uhr
guter Ansatz aber net send ist mehr als unzuverlässig und oftmals auch geblockt.

Karo
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...