调用命令不需要凭据
Invoke-command doesn't need credentials
我在同一域中有 2 台服务器(windows 服务器 2012 R2)。
我在 server01 上执行命令:
Invoke-Command -ComputerName server02 -Credential Administrator -ScriptBlock {Get-Culture}
我提供了我的管理员(服务器 2)的密码,它运行良好。
但是当我尝试时:
Invoke-Command -ComputerName server02 -ScriptBlock {Get-Culture}
它似乎也有效。可能是因为 2 台服务器在同一个域中。虽然我只希望它在您可以提供正确的凭据时工作。有人可以帮我吗?
您可能是通过域管理员帐户或域管理员组中的帐户执行此操作的。
无论如何,这是因为您的帐户在那台计算机上具有权限。
你在 server01 上用哪个用户执行脚本?该用户是否也有 server02 的权限?如果您的用户对 server01 和 server02 具有管理员权限,则不需要凭据...(据我所知)
要检查提供的凭据是否有效,请查看此处:
https://gallery.technet.microsoft.com/scriptcenter/Test-Credential-dda902c6
或者像这样:
$cred = Get-Credential #Read credentials
$username = $cred.username
$password = $cred.GetNetworkCredential().password
# Get current domain using logged-on user's credentials
$CurrentDomain = "LDAP://" + ([ADSI]"").distinguishedName
$domain = New-Object System.DirectoryServices.DirectoryEntry($CurrentDomain,$UserName,$Password)
if ($domain.name -eq $null)
{
write-host "Authentication failed - please verify your username and password."
exit #terminate the script.
}
else
{
write-host "Successfully authenticated with domain $domain.name"
}
这是在这里找到的(但我还没有测试过):
https://serverfault.com/questions/276098/check-if-user-password-input-is-valid-in-powershell-script
我在同一域中有 2 台服务器(windows 服务器 2012 R2)。 我在 server01 上执行命令:
Invoke-Command -ComputerName server02 -Credential Administrator -ScriptBlock {Get-Culture}
我提供了我的管理员(服务器 2)的密码,它运行良好。 但是当我尝试时:
Invoke-Command -ComputerName server02 -ScriptBlock {Get-Culture}
它似乎也有效。可能是因为 2 台服务器在同一个域中。虽然我只希望它在您可以提供正确的凭据时工作。有人可以帮我吗?
您可能是通过域管理员帐户或域管理员组中的帐户执行此操作的。
无论如何,这是因为您的帐户在那台计算机上具有权限。
你在 server01 上用哪个用户执行脚本?该用户是否也有 server02 的权限?如果您的用户对 server01 和 server02 具有管理员权限,则不需要凭据...(据我所知)
要检查提供的凭据是否有效,请查看此处: https://gallery.technet.microsoft.com/scriptcenter/Test-Credential-dda902c6
或者像这样:
$cred = Get-Credential #Read credentials
$username = $cred.username
$password = $cred.GetNetworkCredential().password
# Get current domain using logged-on user's credentials
$CurrentDomain = "LDAP://" + ([ADSI]"").distinguishedName
$domain = New-Object System.DirectoryServices.DirectoryEntry($CurrentDomain,$UserName,$Password)
if ($domain.name -eq $null)
{
write-host "Authentication failed - please verify your username and password."
exit #terminate the script.
}
else
{
write-host "Successfully authenticated with domain $domain.name"
}
这是在这里找到的(但我还没有测试过): https://serverfault.com/questions/276098/check-if-user-password-input-is-valid-in-powershell-script