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