2016-08-09 404 views
0

Ich arbeite derzeit an einer Schulaufgabe, wo ich ein paar Powershell-Skripte machen, um eine Grundkonfiguration eines Windows Server 2012 R2 durchzuführen. Erste Skript muss folgendes tun:Powershell Lebenslauf Skript nach dem Neustart

o Servername: WDC o IP-Adresse: 192.168.1.45 o Subnetz: 255.255.255.0 o Gateway: 192.168.1.1 o DNS: 192.168.1.1
o Administrator Kennwort: Admin2016 o Primaire DNS-Server 8.8.8.8 o Secundaire DNS-Server 192.168.1.45 o zu dc Förderung o ...

Problem ist, dass der Server nach der Namensänderung neu starten muss, und dass das Skript kann nicht fahre danach fort.

Ich weiß, ich könnte dies tun, indem Sie zum Beispiel das Skript aufteilen und den zweiten Teil mit runonce in der Registrierung nach dem Neustart fortsetzen, aber mein Lehrer schwört, dass es möglich ist, dies in einer ps1-Datei zu tun und außerdem sagt er das Es sollte möglich sein, nach dem Neustart automatisch zu loggen und dann die gleiche Skriptdatei von dort wieder aufzunehmen, wo sie vor dem Neustart gestoppt wurde.

Dieses Skript muss auf einem lokalen Computer ausgeführt werden, so dass ich keine Workflows verwenden kann. Ich habe viel Zeit gesucht, aber ich kann keine passende Lösung finden, um genau das zu tun, was der Lehrer will.

Hoffe, dass jemand helfen kann.

Prost

+0

nur ein Skript zu verwenden, übergeben Sie einen Parameter (isContinuation, zum Beispiel), um das Skript. Wenn isContinuation im Skript falsch ist, führen Sie den ersten Teil aus. Wenn es wahr ist, führe den zweiten Teil aus. –

+0

Effektives Duplikat von http://stackoverflow.com/questions/15166839/powershell-reboot-and-continue-script –

Antwort

0

Fortsetzen als solche wäre nicht möglich. Sie können jedoch feststellen, ob die Änderungen, die einen Neustart erfordern, bereits durchgeführt wurden, und wiederholen Sie die Schritte für diese Einstellungen nicht. Im Wesentlichen überprüfen Sie wenn Sie eine Anpassung an einen Schritt vornehmen müssen, und nur dann müssen Sie neu starten. Während des zweiten Laufs muss Ihr Skript die neuen Einstellungen, die einen Neustart erfordern, nicht erneut anwenden und sollte in der Lage sein, dort fortzufahren, wo es in der vorherigen Ausführung aufgehört hat.

Wie für die Auto-Login und Skript erneut Teile ausgeführt werden, beide sind lösbar. Es gibt eine Lösung, die Registrierungseinstellungen verwendet, um einen Benutzer automatisch anzumelden. Sie müssen das Kennwort für diese Anmeldung in der Registrierung hinzufügen, daher kann dies ein Sicherheitsrisiko darstellen. Das Ausführen eines Skripts nach der Anmeldung ist mit dem Windows Taskplaner möglich. Neben der Verwendung fester Zeitpläne unterstützt der Scheduler auch die Ausführung von Aufgaben nach bestimmten Ereignissen. Es gibt eine Verzögerung, wenn Sie diese Ereignisse verwenden, kann es bis zu mehreren Minuten dauern. Wenn dies nicht akzeptabel ist, können Sie auch eine Verknüpfung zum Skript im Ordner StartUp des Benutzerkontos verwenden, das für die automatische Anmeldung verwendet wird.

Die Autologon arbeitet mit Registrierungsschlüsseln. Sie müssen ein paar Schlüssel im HKLM Namespace:

Path: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 
Value Name: AutoAdminLogon 
Value Type: REG_SZ 
Value data: 1 

Path: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 
Value Name: DefaultUserName 
Value Type: REG_SZ 
Value data: <name of the user you want to log on> 

Path: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 
Value Name: DefaultPassword 
Value Type: REG_SZ 
Value data: <password of the user you want to log on> 

und wenn dies eine Benutzerdomäne ist

Path: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 
Value Name: DefaultDomainName 
Value Type: REG_SZ 
Value data: <name of the domain the user belongs to> 
+0

Thx für die Hilfe! Das hat den ersten Teil meiner Frage gelöst. Ich habe den Winlogon-Teil bereits ausprobiert und es scheint nicht für mich zu funktionieren. Ich muss mich als Admin automatisch anmelden, also habe ich den Benutzernamen Administrator verwendet, aber ich muss immer noch meinen PW nach einem Neustart eingeben.Auch die Registrierung scheint die Änderungen nach einem Neustart nicht zu speichern. –

+0

Wenn Ihre Registrierungseinstellungen nach einem Neustart nicht vorhanden sind, werden sie wahrscheinlich nie gespeichert - und daher nicht vorhanden, wenn es an der Zeit ist, sich automatisch anzumelden. Ich würde zuerst versuchen, herauszufinden, warum Ihre Registrierungseinstellungen nicht haften, das könnte das ganze Problem hier sein. –

+0

@DriesVandenBergh Nicht sicher, wie Sie die Registrierung Änderungen vornehmen, aber wenn Sie 'regedit/s .reg' verwenden und dann sofort neu starten, speichert es nicht immer die Änderungen. Versuchen Sie 'start/wait regedit/s .reg' oder machen Sie es früher im Skript. –