是否可以使用Powershell将服务帐户从“此帐户”更改为“登录身份”?

时间:2019-04-13 23:25:00

标签: powershell powershell-v4.0

PowerShell的新手,请耐心等待。我试图自动执行Prosystem Fx Engagement的安装,但是需要安装SQL实例。我已经完成了这一部分,但是我还需要在services.msc中自动更改服务帐户。需要将其从“此帐户”更改为“以本地系统帐户登录”

https://imgur.com/en9COWl

服务的名称是MSSQL $ PROFXENGAGEMENT,服务的显示名称是SQL Server(PROFXENGAGEMENT)。

我真的不想使用下面的方法,因为密码在.ps文件中可见。我尝试环顾四周,但找不到任何东西。这有可能吗?

$LocalSrv = Get-WmiObject Win32_service -filter "name='MSSQL$PROFXENGAGEMENT'"
$LocalSrv.Change($null,$null,$null,$null,$null,$false,"DOMAIN\administrator","PASSWORD")

1 个答案:

答案 0 :(得分:0)

关于您说的方法,您不想用于帐户更改活动。您不必也不应该在脚本中输入纯文本密码。

您可以提示输入密码,将其存储在变量中并使用它。但是,这意味着必须要有人来解决这个问题,所以这不是很自动化。

因此,这意味着您需要在文件或其他存储中设置凭据,然后从脚本中调用它。

含义类似于以下内容。当然,这必须在需要它的任何其他用例之前完成。

using secure password with multiple users without prompt

#saving credentials
Get-Credential | Export-CliXml -Path c:\credential.xml

#importing credentials to a variable
$Credential = Import-CliXml -Path c:\credential.xml

有关以下主题的YouTube视频: Learn to securely use Passwords with PowerShell

您还可以使用Windows凭据存储,然后从那里进行调用。也在上面的视频中显示。

Using Windows Credential Manager

https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde

https://www.powershellgallery.com/packages/CredentialManager/1.0

https://www.experts-exchange.com/questions/29061982/Powershell-Using-credentials-stored-in-Credential-Manager.html