使用远程PowerShell会话更改服务用户名/密码

hk8txs48  于 2022-11-10  发布在  Shell
关注(0)|答案(1)|浏览(139)

我有一个服务器列表,然后是每个服务器上的另一个服务列表。我正在尝试删除它,更改.bat中的一些值,然后再次安装服务。现在,我已经使用以下命令启动了一个远程PowerShell会话

$PSsession = New-PSSession -ComputerName $server -Credential $Credential
Enter-PSSession -Session $PSsession

我主要使用Invoke-Command -ScriptBlock {//somecodehere} -Session $PSsession来运行到目前为止我已经使用过的每个命令。我最初的方法是使用sc.exe config $serviceName obj=$username password=$passwd,但每次我在远程服务器上进行更改时,它都会告诉我存在NativeCommandError,并且服务存在登录问题。
有没有办法可以使用用户提供的凭据以安全的方式更改服务的用户名/密码?或者,有没有人能推荐一种我可以研究的更好的方法?

vsdwdz23

vsdwdz231#

因此,我自己的问题的解决方案是创建一个脚本并将其复制到服务器上。然后,它在机器内部运行sc.exe命令。因为它是另一台机器,所以如果凭据是SecureString,则不能作为变量发送。所以我的解决方案就是正常地创建这些变量,然后确保在以后删除它们。
如果您正在处理机密数据,请不要忘记,在删除变量之前,您通常需要覆盖变量3次。

相关问题