首页 > 解决方案 > 运行“Uninstall-ADDSDomainController”并重新启动后如何运行 Powershell 代码

问题描述

我有一个有趣的挑战,我正在尝试对服务器进行更改,以将其从本地安装的 AD 服务器中删除,并将其重新添加到外部托管的域控制器中。这个过程的第一步是卸载AD角色,这个过程需要我重新启动系统才能继续。理想情况下,我希望有一系列脚本可以为我执行整个操作。为此,我将“Uninstall-ADDSDomainController”命令与“Register-ScheduledTask”结合起来。类似于以下内容:

Register-ScheduledTask `
    -TaskName "Test_Job" `
    -RunLevel Highest `
    -User ("\Administrator") -Password $DefaultPassword `
    -Trigger (New-ScheduledTaskTrigger -Once -At ((Get-Date).AddMinutes(3))) `
    -TaskPath "\Microsoft\Windows\PowerShell\ScheduledJobs\" `
    -Action (New-ScheduledTaskAction -Execute "Powershell" -Argument ("-Command & '" + $DefaultPath + "Test.ps1' `"1`" `"" + $DefaultUsername + "`" `"" + $DefaultPassword + "`""))

$SecurePassword = ConvertTo-SecureString $DefaultPassword -AsPlainText -Force

Uninstall-ADDSDomainController -ForceRemoval -LocalAdministratorPassword $SecurePassword -SkipPreChecks -Force -DemoteOperationMasterRole

然而,这似乎无法正常工作。“Uninstall-ADDSDomainController”运行并重新启动系统,但登录后,“Test”中的代码没有运行,如果再次运行脚本并重新启动,它将正常工作。我相信正在发生的事情是,从 AD 服务中删除服务器后,凭据不再有效。如果您在 Windows 中检查计划任务,您实际上可以看到它的影响:

在此处输入图像描述

但是,在从本地安装的 AD 角色中删除服务器后,我不知道哪些凭据是有效的。

非常简单地说,我想要实现的是:我想在“Uninstall-ADDSDomainController”完成并重新启动系统后运行一个 powershell 脚本。这可能吗?如果可以,怎么做?

标签: powershellactive-directoryscheduled-tasksstartuppowershell-5.0

解决方案


推荐阅读