我一直在准备部署机器,但每台计算机在安装软件之前都需要进行 10-15 项调整。例如,更改功耗、关闭 UAC、禁用系统还原、将现有注册表项设置为不同的值。
能否使用批处理文件、PS 脚本或其他程序干净利落地完成此操作,从而节省部署 15 台计算机的时间?我查看过其他程序,但我的计算机不在现场。
答案1
Powershell 功能强大,可让您自动执行大部分(如果不是全部)配置。您可以自动执行多少配置取决于您准备编写的 powershell 脚本的复杂程度/从 stack overflow 复制粘贴的复杂程度 ;-)
我同意汉斯的观点,处理这个问题的“正确”方法是创建一个“黄金映像” - 然后将这个映像部署到每台机器 - 但这有一个学习曲线,听起来你想要一些更快更粗糙的东西?
如果我是你,我会打开 ISE/VSCode,创建一个新的 .ps1 PowerShell 脚本,然后点击谷歌...
大多数“标准”调整之前都已经做过了 - 例如谷歌“powershell 关闭 UAC”给我转出了这个页面禁用-计算机恢复,其中包含一个简单的示例:
Disable-ComputerRestore -Drive "C:\"
搜索“powershell disable UAC”让我这个脚本。假设您只对 Windows 10 感兴趣,那么只需从示例脚本中复制适用于 Windows 10 的行:
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "ConsentPromptBehaviorAdmin" -Value "0"
以上还演示了写入注册表,这很简单。此外,例如使用 powershell 运行 regedit.exe 并导入 .reg 文件也没什么问题 - 如果这更简单的话(并且假设您可以将 .reg 文件放到远程系统上)。
我建议将其放在Start-Transcription -path c:\somelogfile.txt
第一行,这样它就会将所有输出/错误记录到日志文件中。您可能希望结束脚本Restart-Computer
。如果您在执行特定更改时遇到困难,请在 stackoverflow 上提问 - 如果尚未得到解答。
因此,编写脚本来自动执行特定任务非常容易。如果您的计算机是本地的,则从共享或 USB 棒中获取脚本并运行它会比使用控制面板和注册表编辑器等更快。如果您有远程计算机,只要您有 RDP 访问权限或其他远程软件,情况就没有什么不同。可以在远程系统上运行 powershell,但这需要一些设置,所以不确定这是否相关?