Windows 如何在Powershell的每个循环中保存凭据
有没有办法保存我的凭据,这样它就不会一直询问每个循环?比如,将其隔离在foreach循环之外。我尝试删除Windows 如何在Powershell的每个循环中保存凭据,windows,powershell,server,credentials,Windows,Powershell,Server,Credentials,有没有办法保存我的凭据,这样它就不会一直询问每个循环?比如,将其隔离在foreach循环之外。我尝试删除-凭据并将其添加到外部,但这会导致未经授权的访问错误。我似乎不明白。抱歉,如果这个问题看起来很愚蠢,我是新来的Powershell Import-Module ActiveDirectory $ServerList = Get-Content "C:\servers.txt" foreach($ServerName in $ServerList){ "$ServerName" "====
-凭据并将其添加到外部,但这会导致未经授权的访问错误。我似乎不明白。抱歉,如果这个问题看起来很愚蠢,我是新来的Powershell
Import-Module ActiveDirectory
$ServerList = Get-Content "C:\servers.txt"
foreach($ServerName in $ServerList){
"$ServerName"
"=========="
Get-WmiObject -Class Win32_UserAccount -Computer $ServerName -Filter "LocalAccount='True'" -credential CORPORATE\usmenm03adm| Select Name
" "
}
是,使用Get Credential
读取凭据一次,并将其存储在变量中:
Import-Module ActiveDirectory
$ServerList = Get-Content "C:\servers.txt"
$MyCredential = Get-Credential -UserName "CORPORATE\usmenm03adm" -Message "Enter WMI credentials"
foreach ($ServerName in $ServerList) {
"$ServerName"
"=========="
Get-WmiObject -Class Win32_UserAccount -Computer $ServerName -Filter "LocalAccount='True'" -Credential $MyCredential | Select-Object Name
" "
}
是,使用Get Credential
读取凭据一次,并将其存储在变量中:
Import-Module ActiveDirectory
$ServerList = Get-Content "C:\servers.txt"
$MyCredential = Get-Credential -UserName "CORPORATE\usmenm03adm" -Message "Enter WMI credentials"
foreach ($ServerName in $ServerList) {
"$ServerName"
"=========="
Get-WmiObject -Class Win32_UserAccount -Computer $ServerName -Filter "LocalAccount='True'" -Credential $MyCredential | Select-Object Name
" "
}
您可以在循环外部定义凭证。
我像下面那样编辑了你的脚本
Import-Module ActiveDirectory
$ServerList = Get-Content "C:\servers.txt"
$cred=Get-Credential
foreach($ServerName in $ServerList){
"$ServerName"
"=========="
Get-WmiObject -Class Win32_UserAccount -Computer $ServerName -Filter "LocalAccount='True'" -credential $cred | Select Name
" "
}
您可以在循环外部定义凭证。
我像下面那样编辑了你的脚本
Import-Module ActiveDirectory
$ServerList = Get-Content "C:\servers.txt"
$cred=Get-Credential
foreach($ServerName in $ServerList){
"$ServerName"
"=========="
Get-WmiObject -Class Win32_UserAccount -Computer $ServerName -Filter "LocalAccount='True'" -credential $cred | Select Name
" "
}
奇怪的是,对这个答案投反对票,1分钟后对类似的答案投反对票!?我已经把它们调平了。让社区决定哪一个最有帮助。我希望这个社区能够分享知识,帮助其他成员!选票是next@Venkatakrishnan-是的,应该是的,但这很奇怪。也许有人不喜欢TesselatingHeckler的答案,更喜欢你的答案,但这不应该导致否决票。嗨,我测试了两个答案,似乎这个答案仍然循环我的证书。不过还是要谢谢你:)@KentMarionVG-除了命名变量,两个答案都是一样的?!我很好奇为什么这对你不起作用?!奇怪的是,对这个答案投反对票,1分钟后对类似的答案投反对票!?我已经把它们调平了。让社区决定哪一个最有帮助。我希望这个社区能够分享知识,帮助其他成员!选票是next@Venkatakrishnan-是的,应该是的,但这很奇怪。也许有人不喜欢TesselatingHeckler的答案,更喜欢你的答案,但这不应该导致否决票。嗨,我测试了两个答案,似乎这个答案仍然循环我的证书。不过还是要谢谢你:)@KentMarionVG-除了命名变量,两个答案都是一样的?!我很好奇为什么这对你不起作用?!