存在 AD 凭据问题的 Powershell 服务创建
我使用下面的脚本来创建一个使用 AD 凭据运行的服务。
但是当我运行它时我收到一条错误消息(也如下所示)。
如果我随后编辑该服务并通过 services.mmc snapin 输入完全相同的凭据,它就可以正常工作吗?我该如何解决这个问题?
错误信息
Windows 无法在本地计算机上启动“SamsService”服务。错误 1069:由于登录失败,服务未启动。
电源外壳
$serviceName = "SamsService"
$exePath = "c:\services\service.exe"
$userName = "mydomain\serviceuser"
$securePassword = convertto-securestring -String "1a_really_$trong_password1" -AsPlainText -Force
$credentialsObject = new-object -typename System.Management.Automation.PSCredential -argumentlist $userName, $securePassword
New-Service -BinaryPathName $exePath -Name $serviceName -Credential $credentialsObject -DisplayName $serviceName -StartupType Manual
答案1
Powershell 字符串插值让我困惑
我的密码生成器会生成非常强的密码,其中总是包含 $
我没有意识到密码字符串中的 $ 被插入以表示变量。将 $ 转义为 ` 后,上述代码就可以正常工作了。