I have server A
and a server B
in the same domain (Windows Server 2012 R2):
PS C:\Deployment> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
I have an admin user on server B which is called WORKGROUP\test
.
On both servers I performed:
enable-psremoting -force
On server A
I performed:
Invoke-Command -ComputerName RemoteServerName -ScriptBlock {
get-childitem
get-service
}
This works. Now I'm using credentials:
Invoke-Command -ComputerName COMPUTER3 -Credential you-user -ScriptBlock { get-service }
When I run it I got this view (picture from internet):
When I give the right credentials it works, when I provide the wrong credentials it doesn't work. So that's fine.
But when I just click "Cancel" it also works. It seems like the remote server (server B
) does not require credentials. What do I have to change to make it also fail when you provide no credentials?
Если текущему пользователю разрешен доступ к конечной точке PowerShell на удаленной машине, он всегда сможет удалиться, не предоставив явных учетных данных.
Единственный способ потребовать предоставления явных учетных данных - это разорвать эту цепочку. Некоторые опции:
sudo
.
Get-PSSessionConfiguration
Name : microsoft.powershell
. PSVersion : 5.1
StartupScript :
RunAsUser :
Разрешение : NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed, BUILTIN\Remote Management Users AccessAllowed
До тех пор, пока удаленный пользователь не входит в одну из этих групп - или вы удаляете эти группы и используете новые - он должен будет предоставить явные учетные данные для подключения. Это может быть использование -Credential
непосредственно в Invoke-Command
, или при создании сеанса.
Если вы рассмотрите эту опцию, подумайте о том, чтобы пройти весь путь и посмотреть на Just Enough Administration (JEA
), где можно указать три основных варианта:
JEA может стать началом сильной основы для ограничения того, что администраторы могут делать в определенных обстоятельствах. Это может быть частью Контроля доступа на основе ролей (RBAC
).