У мене є server A
і server B
в тому ж домені (Windows Server 2012 R2):
PS C:\Deployment> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
У мене на сервері B є адміністратор, який викликається WORKGROUP\test
.
На обох серверах я виконував:
enable-psremoting -force
На server A
I виконується:
Invoke-Command -ComputerName RemoteServerName -ScriptBlock {
get-childitem
get-service
}
Це працює. Зараз я використовую облікові дані:
Invoke-Command -ComputerName COMPUTER3 -Credential you-user -ScriptBlock { get-service }
Коли я запускаю його, я отримав такий вигляд (зображення з Інтернету):
Коли я надаю правильні облікові дані, вона працює, коли я надаю неправильні облікові дані, вона не працює. Так що це добре. Але коли я просто натискаю "Скасувати", це також працює. Схоже, що віддалений сервер ( server B
) не вимагає облікових даних. Що я повинен змінити, щоб він також не зміг, якщо ви не надаєте облікові дані?
Users need to use the credential request
- Чому? Що ви сподіваєтесь, що це вдасться досягти? За замовчуванням psremoting буде використовувати автентифікацію kerberos. Користувачі нададуть належні облікові дані при автентифікації у вихідній системі.