0

У меня есть 2 сервера (сервер Windows 2012 R2) в том же домене. я выполнить команду на server01:Invoke-command не нуждается в учетных данных

Invoke-Command -ComputerName server02 -Credential Administrator -ScriptBlock {Get-Culture} 

Я даю пароль моего администратора (из server2) и он работает хорошо. Но когда я пытаюсь:

Invoke-Command -ComputerName server02 -ScriptBlock {Get-Culture} 

Это также, кажется, работает. Вероятно, потому что 2 сервера находятся в одном домене. Хотя я только хочу, чтобы он работал, когда вы можете предоставить правильные учетные данные. Может кто-нибудь мне помочь?

+1

вы, вероятно, уже имеют разрешения на доступ к серверу, то используя ваши учетные данные (пользователь, открывший PS) – 4c74356b41

ответ

1

Возможно, вы делаете это через учетную запись администратора домена или учетную запись, указанную в группе «Администраторы домена» или около того.

В любом случае это приводит к тому, что на вашем компьютере есть привилегии на этом компьютере.

+0

Да, это была некоторая учетная запись, которая была администратором всего домена, а не только на удаленном сервере. – DenCowboy

1

С каким пользователем вы выполняете скрипт на сервере01? У этого пользователя есть разрешения на 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

Смежные вопросы