Top-Themen

Aktuelle Themen (A bis Z)

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

Alle PCs in Domäne rebooten

Frage Microsoft Windows Netzwerk

Mitglied: Festus94

Festus94 (Level 1) - Jetzt verbinden

30.06.2011 um 22:09 Uhr, 7294 Aufrufe, 19 Kommentare

Suche Möglichkeit, alle PCs in Windows-Domäne auf einmal neuzustarten

Hallo,

wie oben beschrieben, suche ich eine Möglichkeit, alle PCs in einer Windows-Domäne auf einmal zu rebooten.
Ich dachte daran, einfach einen Shutdown-Befehl an die Broadcast-Adresse zu senden. Das hat allerdings nicht
funktioniert. Stattdessen kam die Meldung, dass der Client nicht gefunden wurde.

Habt ihr eine Idee, wie ich dieses Problem lösen könnte ?

Vielen Dank für alle Tipps im Vorraus !


Viele Grüße
tbnwadm
Mitglied: Xaero1982
30.06.2011 um 22:21 Uhr
Hi,

leg dir ne Liste an mit allen Computernamen.

Zusätzlich brauchst du die PSTools und da kannst du mit der PSShutdown.exe die Datei aufrufen und alle neu starten.

psshutdown @File -r -t 00 (wenn ich mich recht Erinner)

VG
Bitte warten ..
Mitglied: Festus94
30.06.2011 um 22:31 Uhr
Hallo,

danke für die schnelle Antwort. Kann ich da auch irgendiwe erreichen, dass erst der DC, dann die Terminalserver, dann ein dritter Server, und dann die ganzen Workstations booten ?



tbnwadm
Bitte warten ..
Mitglied: St-Andreas
30.06.2011 um 22:36 Uhr
Hallo,

ne kleine Batch die die unterschiedlichen Geräte mit unterschiedlichen Wartezeiten für den Shutdown abhandelt.
Bitte warten ..
Mitglied: Festus94
30.06.2011 um 22:38 Uhr
Wärst Du so nett, und würdest mir ein Bespiel geben ? Was das Batchen angeht, habe ich nicht wirklich hilfreiche Erfahrungen. ;)


Viele Grüße
tbnwadm
Bitte warten ..
Mitglied: 60730
30.06.2011 um 23:06 Uhr
moinsen,

Zitat von Festus94:
Hallo,

danke für die schnelle Antwort. Kann ich da auch irgendiwe erreichen, dass erst der DC, dann die Terminalserver, dann ein
dritter Server, und dann die ganzen Workstations booten ?

*hüstel*

Die Reihenfolge ist aber extrem falsch...

  • eine Liste deiner Kisten bekommst du (wenn du die nicht hast) via net view
Und etwas "schöner"
for /f "tokens=1 delims=\ " %a in ('netview') do echo %a>alle_clients.txt
  • Die sortierst du so, wie die Kisten heruntergefahren werden sollen
  • Server am Schluß - nicht am Anfang.....

Zum Thema shutdown Psstools findest du einiges - was das Batchen angeht - eigene Erfahrungen sind das beste - bau was aus den bisherigen Tipps und wenns nicht weitergeht - helfen wir gerne - aber etwas eigenintiative zu sehen ist voraussetzung.

Gruß
Bitte warten ..
Mitglied: jsysde
30.06.2011 um 23:23 Uhr
Server automatisch/per Skript neu starten?
Ob das mal ne gute Idee ist...

Anyway, in Abhängigkeit von der Anzahl der PCs in deinem Netzwerk bzw. pro Standort kannst du dir ein Problemchen einfangen:
Beim Booten verursachen Rechner Leistungsspitzen im Stromnetz - wenn du also sehr viele PCs und die alle gleichzeitig aus- und wieder angehen, könntest du dir damit die Sicherung(en) rausschiessen. Zumindest haben wir das bei uns in einer Laborumgebung schon mal hinbekommen.

Cheers,
jsysde
Bitte warten ..
Mitglied: 2hard4you
30.06.2011 um 23:38 Uhr
Zitat von Festus94:
Hallo,

danke für die schnelle Antwort. Kann ich da auch irgendiwe erreichen, dass erst der DC, dann die Terminalserver, dann ein
dritter Server, und dann die ganzen Workstations booten ?



tbnwadm

Moin,

nenne doch mal bitte einen vernüftigen Grund, warum Du das willst

Danke & Gruß

24
Bitte warten ..
Mitglied: Festus94
01.07.2011 um 14:40 Uhr
Hallo,

danke für die Tipps.

Die Reigenfolge hatte ich ausgewählt, da alle Clients (die laufen) neu gestartet werden sollen, um Änderungen in der Domäne zu übernehmen. Daher auch der DC als Erster, dann die Terminalserver, usw. ;)

Das Skript soll nur ablaufen, wenn ich es ausführe - was hoffentlich eine Seltenheit darstellt. Es ist auch eher nur für den Fall gedacht...

Das mit dem Stromnetzt sollte kein Problem darstellen, aber danke für den Tipp !


Viele Grüße
tbnwadm
Bitte warten ..
Mitglied: FSX2010
01.07.2011 um 14:56 Uhr
läuft der DNS Server auf dem DC? Wenn ja sollte die als letztes rebootet werden. Ansonsten können evtl. die Namen nicht mehr aufgelöst werden. Es sei du verwendest die IP Adressen. Was aber auch wieder schlecht ist wenn Du die IPs per DHCP vergibst. Allerding weiss ich auch nicht warum du das machen willst?

Gruss

Micha
Bitte warten ..
Mitglied: Festus94
01.07.2011 um 15:25 Uhr
Ich hatte einfach vor mir ein solches Skript zu basteln, für den Fall, dass mal Änderungen gemacht werden, die den Neustart aller Clients vorraussetzen. Also auch noch die Server dabeipacken - wenn schon, denn schon...

Ich habe DHCP im Einsatz, daher würde ich gerne die Hostnamen verwenden. Der DNS läuft auf dem Router.



tbnwadm
Bitte warten ..
Mitglied: BigWim
01.07.2011 um 15:33 Uhr
Hallo,

Daher auch der DC als Erster, dann die Terminalserver, usw. ;)
Wenn der DC als Erster booten muß(?), dann manuelle von Hand. Warten bis der wieder da ist, dann weiter machen

Das Skript soll nur ablaufen, wenn ich es ausführe - was hoffentlich eine Seltenheit darstellt.
Dann würde ich keinen Aufwand treiben. Wie vorgeschlagen, die Listen anlegen und diese für shutdown /i nutzen (Cut & Paste).

Gruß
Markus
Bitte warten ..
Mitglied: 60730
01.07.2011 um 16:37 Uhr
Moin,

Der DNS läuft auf dem Router.

das ist nicht dein Ernst?
Bitte warten ..
Mitglied: Festus94
01.07.2011 um 16:55 Uhr
Zitat von 60730:
das ist nicht dein Ernst?

Doch, eigentlich schon, wieso ? Es funktioniert alles.



Viele Grüße
tbnwadm
Bitte warten ..
Mitglied: Festus94
01.07.2011 um 16:56 Uhr
@Markus: Danke, dann werde ich das wohl so machen. Das mit dem DC wollte ich nur so machen, weil ich mir hab' sagen lassen, dass die Verbindungen aller Clients (und der abhängigen Server) dann praktisch "ungültig" wären, da die IPs ggf. nicht mehr akzeptiert werden, Folder Redirections nicht übernommen werden, etc.


tbnwadm
Bitte warten ..
Mitglied: 2hard4you
01.07.2011 um 20:56 Uhr
naja, genauer sind es die Kerberostickets, die ungültig werden....
Bitte warten ..
Mitglied: Festus94
02.07.2011 um 14:33 Uhr
Genau das war's.



tbnwadm
Bitte warten ..
Mitglied: Xaero1982
02.07.2011 um 15:47 Uhr
Zitat von Festus94:
> Zitat von 60730:
> ----
> das ist nicht dein Ernst?

Doch, eigentlich schon, wieso ? Es funktioniert alles.



Viele Grüße
tbnwadm

Das würde ich mal bezweifeln

VG
Bitte warten ..
Mitglied: Scanner
08.07.2011 um 14:03 Uhr
Hallo zusammen, ich habe zwar nicht alles gelesen, aber ich würde das so machen.

Script 1
' +++ Sucht alle Computer in der Domaene und speichert sie in einer Datei
' +++ dsquery computer <- findet alle Computer im Activ Directory
' +++ -limit 200 <-- Das Standart limit liegt bei 100 Einträgen.
' +++ da wir in der Domaene ca. 150 Rechner haben wird es mit
' +++ diesen Befehl auf 200 heraufgesetzt.
' +++ -o rdn <-- Nur der Computername wir ausgegeben
str_run = "dsquery computer -limit 200 -O rdn > Computer_in_Domaene.txt"
set wshell = CreateObject("WScript.Shell")
' +++ Startet eine DOS Box und führt dann dort den Eintrag in str_run aus.
' +++ /c fuert den Befehl/ befehle aus und endet dann.
wshell.Run "%ComSpec% /c " & str_run,,True
Set wshell = nothing

' +++ Aufruf des Dateihandlings um die Server aus der Liste zu entfernen
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run ("Dateihandling.vbs")
Set wshell = Nothing


Sript 2
Hinweis: die Datei Server.txt wurde manuell erstellt, in ihr stehen die Namen der Server / Clients die nicht angefasst werden sollt

'+++ Variablen Deklaration
Dim objFs1, objFs2, objFs3 ' FileSystemObject Objekt
Dim strDateiname1, strDateiname2, strDateiname3
Dim strMaschines, strServer
Dim objTextStream1, objTextStream2, objTextStream3 ' Textstream Objekt
Dim strBoolean

' +++ FileSystemObjecte anlegen
Set objFs1 = CreateObject("Scripting.FileSystemObject")
Set objFs2 = CreateObject("Scripting.FileSystemObject")
Set objFs3 = CreateObject("Scripting.FileSystemObject")

'+++ Datei Pfade und Namen deklarieren
'+++ 1 fuer die Computer in der Domaene, 2 fuer die Serverliste
'+++ 3 ist fuer die Aufnahme der Workstations in der domaene
strDateiname1 = "Computer_in_Domaene.txt"
strDateiname2 = "Server.txt"
strDateiname3 = "Workstation.txt"


' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
' +++ objTextStream1 = Computer in Domaene
Set objTextStream1 = objFs1.OpenTextFile(strDateiname1,1)

'+++ Datei zur Aufnahme der Workstations erstellen
Set objTextStream3 = objFs3.CreateTextFile(strDateiname3, 8)


'+++Computerliste durchlaufen und kontrollieren ob es ein Server ist.
'+++ Wenn es kein server ist, dann in die Workstaton Datei eintragen
While Not objTextStream1.AtEndOfStream
strBoolean = False
strMaschines = objTextStream1.ReadLine

' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
' +++ objTextStream2 = Server
Set objTextStream2 = objFs2.OpenTextFile(strDateiname2,1)

While Not objTextStream2.AtEndOfStream
strServer = objTextStream2.ReadLine
If strMaschines = strServer Then
strBoolean = True
End if

Wend
'+++ Schliessen um ihn zu leeren
objTextStream2.Close

'+++ wenn es kein Server ist dann ab damit in die datei.
If strBoolean = False Then
'+++ Computer in Workstationliste eintragen
'+++ erst den text formatiern und die " entfernen.
'+++ dann den String mit einen Zeilenumbruch in Datei schreiben:
strMaschines = Replace(strMaschines, Chr(34), "")
objTextStream3.Write strMaschines & vbCrLf
End If

Wend


' +++ Textstream schliessen
objTextStream3.Close
objTextStream1.Close

' +++ Resourcen freigeben
Set objTextStream1 = Nothing
Set objTextStream2 = Nothing
Set objTextStream3 = Nothing
Set objFs1 = Nothing
Set objFs2 = Nothing
Set objFs3 = Nothing

' +++ Aufruf des Shutdon progs um alle Rechner die Online sind runter zu fahren.
Set wshShell = WScript.CreateObject ("WSCript.shell")
wshshell.run ("shutdown_online.vbs")

Set wshshell = nothing

Script 3:schaun welcher der Kisten an ist (pingen)
'+++ Variablen deklaration
Dim objFs1, objFs2 '+++ FileSystemObject Objekt
Dim strDateiname1, strDateiname2
Dim objTextStream1, strMaschines '+++ Textstream Objekt
Dim str_run '+++ Zur Aufnahme eines DOS Box Befehls
Dim i '+++ Zaehler zur Kontrolle ob ein Rechner Online ist.
i=0 '+++ Zaehler


'+++ Datei Pfade und Namen deklarieren
'+++ 1 = Die Rechner die online bzw aktive sind
'+++ 2 = Alle Workstations in der Domäne
strDateiname1 = "online.txt"
strDateiname2 = "Workstation.txt"

' +++ FileSystemObjecte anlegen
Set objFs1 = CreateObject("Scripting.FileSystemObject")
Set objFs2 = CreateObject("Scripting.FileSystemObject")

'+++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
'+++ 1 = Die Rechner die online sind
'+++ 2 = Alle Workstations in der Domäne

Set objLogFile = objFS1.CreateTextFile(strDateiname1,8)
Set objTextStream1 = objFs2.OpenTextFile(strDateiname2,1)

While Not objTextStream1.AtEndOfStream

strMaschines = objTextStream1.ReadLine

'+++ Pingen um heraus zu bekommen ob der Rechner online ist
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& strMaschines & "'")

'+++ Wenn der Rechner an ist, kommt er in die Online Datei
For Each objStatus in objPing
If objStatus.StatusCode=0 Then
objLogFile.Write(strMaschines & VbCrLf)
i=1 '+++ Merker, das mind. ein Rechner online ist.
End If
Next

Wend

'+++ Kontrolliert ob ueberhaupt ein Rechner online war.
'+++ Wenn nicht wird eine Bemerkung in die Datei geschrieben und alles Beendet.
if i=0 then
'+++ Durchlauf wenn kein Rechner Online war

'+++ Bemerkung in die Datei schreiben
objLogFile.Write("Keine Computer Online!" & VbCrLf)

'+++ Stream schliessen
objTextStream1.Close
objLogFile.Close

'+++ Dateihaendling
Set wshell = WScript.CreateObject("WScript.Shell")
'+++ Benennt die Online Dateim zur Doku um.
str_run = "ren online.txt online_%date%.txt"
'+++ Startet eine DOS Box und führt dann dort den Eintrag in str_run aus.
wshell.Run("%ComSpec% /c " & str_run)
'+++ Nicht mehr benoetigte Datei Loeschen
str_run = "del Computer_in_Domaene.txt"
wshell.Run("%ComSpec% /c " & str_run)
'+++ Nicht mehr benoetigte Datei Loeschen
str_run = "del Workstation.txt"
wshell.Run("%ComSpec% /c " & str_run)


'+++ Objekte freigeben
Set objFs1 = Nothing
Set objFs1 = Nothing
Set wshshell = Nothing

Else
'+++ Wird durchlaufen wenn mind. 1 Rechner online war.

'+++ Stream schliessen
objTextStream1.Close
objLogFile.Close

'+++ Objekte freigeben
Set objFs1 = Nothing
Set objFs1 = Nothing

'+++ Aufruf des shutdown Progs
Set wshShell = WScript.CreateObject ("WSCript.shell")
str_run ="C:\XXX\shutdown.bat"
wshShell.run ("%ComSpec% /c " & str_run)

Set wshShell = nothing

End if


Und nun die Bat Datei


Sleep5min.vbs
psshutdown @online.txt -c -m "Ihr PC wird von blablabla herruntergefahren. (Tel.xxxxxxx)" -t 1800 >> Doku.txt

Sleep5min.vbs

del Computer_in_Domaene.txt
del Workstation.txt
ren online.txt online_%date:~0,2%%date:~3,2%%date:~6,4%.txt
ren Doku.txt Doku_%date:~0,2%%date:~3,2%%date:~6,4%.txt

So fahre ich alle clients in der Domaäne herrunter, zum reeboot musst du nur den psshutdown eintrag anpassen.
Dann hasst du alles schön sauber Dokumentiert.
Durch die vielen Kommentare müste das ganze selbsterklärend sein.
Ss gibt bestimmt bessere Lösungen, aber so mach ich es halt.
Bitte warten ..
Mitglied: Festus94
08.07.2011 um 14:38 Uhr
Danke für den Tipp ! Ich werde es bei Gelegenheit mal ausprobieren.


tbnwadm
Bitte warten ..
Ähnliche Inhalte
Windows Server
Gewisse PCs kann man nicht in die Domäne einbinden!
gelöst Frage von SyosseWindows Server18 Kommentare

Hallo Jungs, Ich habe letzte Woche meinen ersten Windows Server 2016 Essentials Server eingerichtet und konfiguriert. So und nun ...

Windows Netzwerk
Remoteherunterfahren von PCs in Domäne
gelöst Frage von banane31Windows Netzwerk5 Kommentare

Hallo liebe Admins, ich habe in der Firma das Problem dass die Mitarbeiter sich gegenseitig aus spaß die Rechner ...

Windows Netzwerk
Mehrere Windows PCs gleichzeitig zur Domäne
gelöst Frage von PharITWindows Netzwerk4 Kommentare

Hallo allerseits, in meiner Testumgebung wollte ich gerade 4 virtuelle PCs aufsetzen und zur Domäne hinzufügen. Ist es in ...

Microsoft
Mehrere PCs derselben Domäne zentral anmelden
Frage von sven784230Microsoft9 Kommentare

Guten Morgen! Wir müssen bei uns jeden Tag in der früh ~20 PC's anschalten und dann noch anmelden. Jeder ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser7 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 3 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...