PowerllShell命令一键实现自动退域加域
PowerllShell命令一键实现自动退域加域
退域加域开始之初,笔者考虑过几个方案。分别是最原始的图形化操作;使用脚本;使用profwiz。
因为涉及终端用户人数众多,由此需求出发,笔者尝试使用自动化脚本能让用户实现自助化操作。实际是无论是上述哪种方案,都需要IT技术人员善后;且考虑到数据完整性,退域加域建议全程技术人员操作。本文旨在尽可能的减少重复机械性操作,仅供参考。
设计思路
利用批处理命令,第一部分是生成定时任务(重启后加新域)以及自动退域后重启,第二部分重启完成后加新域。
第二部分是靠定时任务自动启动,所以实际操作不会有体感上的停顿。只需要双击bat1批处理命令即可。
使用效果
该脚本经测试,实际执行时间(退域加域)预估在2-3分钟。
对用户而言影响较大,新域登陆后,原有的用户桌面等设置会“消失”,用户可能感知为“系统重装”。可以通过结合Onedrive账户同步用户桌面布局和原有存储使用。但不会有使用Profwiz因留下来诸多问题。详见其他文章阐述的解决方案。
以下是具体的脚本内容。
Part1.ps1
# 设置定时任务参数 触发器自动启动.bat2
1 | $taskName = "RunScriptOnLogin" |
#创建系统启动触发器
注意:-AtLogon与-AtStartup有区别
1 | $trigger = New-ScheduledTaskTrigger -AtLogon |
#创建任务操作
1 | $action = New-ScheduledTaskAction -Execute "D:\run-2.bat" -Argument $arguments -WorkingDirectory $taskStartIn |
#创建计划任务,设置为在系统启动时运行
1 | Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskName -Description "Run script on login" -RunLevel Highest -Force -User "admin" |
最后重启完毕打开任务计划程序,手动删除该任务(待优化)
# 退域操作
# 全部手动输入用户名和密码
1 | $domain = "newdomain.com" # 原域名 |
确保在这里使用本地计算机账户登录 ,一定要查看是否退域成功
否则可能会报错 服务器上的安全数据库没有此工作站信任关系的计算机用户
Part2.ps1
# 加域操作
1 | $newDomain = "olddomain.com" # 新域名 |
批处理命令
两个bat命令 对应part1.ps1 part2.ps1 ,脚本存储为part1.ps1 part2.ps1
双击bat执行命令即可
1 | Run-1.bat批处理命令 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Pepper's Site!