重启后Powershell恢复脚本

时间:2016-08-09 14:06:24

标签: windows powershell windows-server-2012-r2

我目前正在完成一项学校作业,我必须制作一些PowerShell脚本来执行Windows Server 2012 r2的基本配置。第一个脚本需要执行以下操作:

o服务器名称:WDC o IP地址:192.168.1.45 o子网:255.255.255.0 网关:192.168.1.1 o DNS:192.168.1.1
o管理员密码:Admin2016 o Primaire DNS服务器8.8.8.8 o Secundaire DNS服务器192.168.1.45 o促进直流 o ...

问题是服务器需要在名称更改后重新启动,并且在此之后脚本无法继续。

我知道我可以通过例如拆分脚本并在重启后在注册表中使用runonce继续第二部分来做到这一点,但我的老师发誓可以在一个ps1文件中执行此操作,而且他说它应该可以在重新启动后自动登录,然后从重新启动之前停止的位置恢复相同的脚本文件。

此脚本必须在本地计算机上执行,因此我无法使用工作流程。我一直在寻找相当长的时间,但似乎无法找到任何合适的解决方案来完全按照老师的意愿去做。

希望有人可以提供帮助。

干杯

1 个答案:

答案 0 :(得分:0)

恢复原因是不可能的。但您可以确定是否已完成需要重新启动的更改,并且不要重复这些设置的步骤。基本上,检查 if 是否需要对步骤进行调整,然后才需要重新启动。在第二次运行期间,您的脚本不需要重新应用需要重新启动的新设置,并且应该能够有效地继续前一次运行中停止的位置。

对于自动登录和脚本重新运行部件,两者都是可解决的。有一个使用注册表设置来自动登录用户的解决方案。您需要将该登录的密码添加到注册表,因此这可能是一个安全问题。使用Windows任务计划程序登录后运行脚本。除了使用固定时间表之外,调度程序还支持在某些事件之后运行任务。如果您使用这些事件会有延迟,可能会长达几分钟。如果这不可接受,您还可以使用用于自动登录的用户帐户的StartUp文件夹中的脚本链接。

自动登录与注册表项一起使用。在HKLM命名空间中需要几个键:

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>

如果这是域用户

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