PowerShell中使用sc.exe带变量参数修改远程服务密码失败求助
解决sc.exe在PowerShell中使用变量参数的问题
- 修正远程服务器地址格式:sc.exe指定远程服务器需要用双反斜杠
\\,你写的\$server是错误写法,应改为\\$server,PowerShell会自动解析变量$server的实际值。 - 严格遵循sc.exe的参数语法:
obj=和password=后面必须保留空格,这是sc.exe的硬性语法要求,不能省略。 - 确认变量拼接逻辑:确保
$domain和$username变量已正确赋值,用双引号包裹"$domain\$username"能让PowerShell正确解析变量拼接后的结果。
正确的命令格式如下:
sc.exe \\$server $service obj= "$domain\$username" password= "whatever"
如果仍报错,可先输出变量值确认是否正确:
Write-Host "Server: $server, Service: $service, Account: $domain\$username"
确认所有变量取值无误后再执行sc命令,同时注意执行脚本的账号需要具备远程服务器的管理员权限,否则会出现权限不足的问题。
内容的提问来源于stack exchange,提问作者sbagnato
相关产品推荐
相关产品推荐

