我目前正在完成一项学校作业,我必须制作一些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文件中执行此操作,而且他说它应该可以在重新启动后自动登录,然后从重新启动之前停止的位置恢复相同的脚本文件。
此脚本必须在本地计算机上执行,因此我无法使用工作流程。我一直在寻找相当长的时间,但似乎无法找到任何合适的解决方案来完全按照老师的意愿去做。
希望有人可以提供帮助。
干杯
答案 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>