将密码传递给-credential

nar*_*992 12 powershell credentials

我正在尝试登录计算机.我一直在玩各种版本,并确定我过去的问题是当我不知道我真正想做什么的时候.

我发现在运行脚本时我在错误的PC上.

当我现在在正确的PC上运行脚本时,以下代码要求我输入密码.

gwmi win32_service –credential domain\username –computer PC#
Run Code Online (Sandbox Code Playgroud)

我上面的当前脚本是否有办法在没有用户输入的情况下强制使用用户名和密码?我必须为100台PC执行此操作,因此我想循环遍历所有这些PC而无需用户输入密码100次.


我尝试过以下操作:

$Username = 'domain\username'
$Password = 'password'

$pass = ConvertTo-SecureString -AsPlainText $Password -Force

$SecureString = $pass
# Users you password securly
$MySecureCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,$SecureString –computer PC#
Run Code Online (Sandbox Code Playgroud)

但是,我得到了一个错误 A parameter cannot be found that matches parameter name 'computer'.

还尝试过:

$MySecureCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,$SecureString 
# Sets yous credentials to be used
#$RemoteConn = New-PSSession -ComputerName "PC#" -Credential $MySecureCreds -Authentication default
Run Code Online (Sandbox Code Playgroud)

但RemoteConn不起作用

nar*_*992 20

哇,我想通过https://social.technet.microsoft.com/forums/windowsserver/en-US/440ab7ed-7727-4ff7-a34a-6e69e2dff251/getwmiobject-prompting-for-password-issues找到它

所以我没有意识到我可以使用它$MySecureCreds作为-credential

回答:

$Username = 'domain\username'
$Password = 'password'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force

$SecureString = $pass
# Users you password securly
$MySecureCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,$SecureString 

gwmi win32_service –credential $MySecureCreds –computer PC#
Run Code Online (Sandbox Code Playgroud)


Loï*_*HEL 6

$pass="FooBoo"|ConvertTo-SecureString -AsPlainText -Force
$Cred = New-Object   System.Management.Automation.PsCredential('user@domain',$pass)
gwmi win32_service –credential $cred –computer $computer
Run Code Online (Sandbox Code Playgroud)