有没有办法使用 Powershell 将服务帐户从 "This account" 更改为 "Log in as"?

Is there a way to change the service account from "This account" to "Log in as" using Powershell?

Powershell 的新手,但请耐心等待。我正在尝试自动安装 Prosystem Fx Engagement,但需要安装一个 SQL 实例。我已经完成了这一部分,但我还需要在 services.msc 内自动更改服务帐户。它需要从 "This account" 更改为 "Log in as Local System Account"

https://imgur.com/en9COWl

服务名称为 MSSQL$PROFXENGAGEMENT,服务显示名称为SQLServer (PROFXENGAGEMENT)。

我真的不想使用下面的方法,因为密码在 .ps 文件中可见。我试着环顾四周,但什么也没找到。这可能吗?

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

至于您所说的您不想用于帐户更改的方法activity。您不必也不应该在脚本中放置纯文本密码。

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

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

含义如下所述。这当然必须在任何其他需要它的用例之前完成。

#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