需求:本例实现的客户端计算机开机执行脚本,实现重置本地管理员的密码
1、创建组策略
2、在AD域中添加脚本
3、注意脚本的路径:就是打开 Show Files 目录,保证在客户端也能正常访问
4、本例建了2个脚本
(1)Startup.ps1 文件:显示登陆信息
whoami /user > d:\Startup.txt
echo $env:username,$env:userprofile,$env:homepath,$env:appdata >> d:\Startup.txt
(2)ModifyPassword.ps1 文件:用来开启管理员并重置密码
Enable-LocalUser -Name "administrator"
Set-LocalUser -Name "administrator" -Password (ConvertTo-SecureString "Sbi@1234" -AsPlainText -Force)
5、客户端刷新组策略并重启
gpupdate /force
6、先查看客户端有没有应用到我们创建的策略
# 以管理员运行
gpresult /r
# 我们看到已成功应用
计算机设置
-----------
CN=X2T-CTU-6,OU=EnableLocalAdmin,OU=Workstation,OU=SH,DC=SBI,DC=Local
上一次应用组策略的时间: 于 2023/8/23,15:31:25
应用的组策略来源于: X2T-SHA-AD01.SBI.Local
组策略慢速链接阈值: 500 kbps
域名: SBI
域类型: Windows 2008 或更高版本
已应用的组策略对象
-------------------
Enable Local Administrator
LoginNote_SH
Hybrid Azure AD Joined
Enable remote desktop
Windows Hello
Default Domain Policy
下列组策略对象被筛选排除,因此没有应用
---------------------------------------
本地组策略
正在筛选: 没有应用 (空)
此计算机是下列安全组的一部分
----------------------------
7、查看注策表中有没有
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Startup
8、最后我们检查 event 日志
(1)如何开启日志
计算机配置 → 策略 → 管理模版 → Windows组件 → Windows PowerShell
(2)创建文件已成功执行
(3)重置管理员密码已成功执行
9、查看在D盘中是否有文件
在这里我们看到 计算机策略下面的开机脚本,执行的用户是 "system",这个用户权限比 administrator 还要大
10、验证管理员密码也已经修改成功