PSRemoting параметр RunAsAdministrator «набор параметров не может быть решен» ошибка - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь выполнить простой командлет get-wmiobject удаленно, и он возвращает ошибку «Отказано в доступе». Клиент находится в домене A, сервер находится в домене B, а пользователь в домене A не имеет доступа к серверу, поэтому эта часть имеет смысл.

Поэтому я попытался создать PSsession с Creds домена B на клиент. Если я RDP на сервер с теми же кредитами, командлет работает нормально. Однако, используя PSsession, он по-прежнему возвращает «доступ запрещен».

Поэтому я попытался добавить -RunAsAdministrator к обоим командлетам 'new-pssession' и 'enter-pssession'

Но оба дают следующую ошибку:

Enter-PSSession : Parameter set cannot be resolved using the specified named parameters.

Если я удаляю -RunAsAdministrator, он подключается, но затем я снова сталкиваюсь с «Доступ запрещен». Так что я знаю, что именно этот параметр вызывает эту проблему.

Единственное, о чем я могу думать, это то, что Пользователь уже является Администратором, поэтому, возможно, если дважды сказать, что я являюсь Администратором, это вызывает проблемы. Но я понимаю, что параметр -RunAsAdministrator просто говорит PSsession запускать powershell с правами администратора.

Даже с помощью команды invoke я получил эту ошибку. -RunAsAdministrator просто не работает для меня.

Я добавил свой клиентский IP в список доверенных серверов - те же ошибки.

Спасибо

1 Ответ

2 голосов
/ 03 марта 2020

Как указывает Lee_Dailey, существует только один синтаксис для New-PSSession и Enter-PSSession, который позволяет использовать переключатель -RunAsAdministrator:

Enter-PSSession [-ContainerId] <string> [-ConfigurationName <string>] [-RunAsAdministrator] [<CommonParameters>]

Это можно увидеть, запустив Get-Help Enter-PSSession или Get-Command Enter-PSSession -Syntax в PowerShell, чтобы увидеть, какие другие параметры совместимы с переключателем -RunAsAdministrator.

PS C:\Users\TMTech> get-command Enter-PSSession -Syntax

Enter-PSSession [-ComputerName] <string> [-EnableNetworkAccess] [-Credential <pscredential>] [-ConfigurationName <string>] [-Port <int>] [-UseSSL] [-ApplicationName <string>] [-SessionOption <PSSessionOption>] [-Authentication <AuthenticationMechanism>] [-CertificateThumbprint <string>] [<CommonParameters>]

Enter-PSSession [[-Session] <PSSession>] [<CommonParameters>]

Enter-PSSession [[-ConnectionUri] <uri>] [-EnableNetworkAccess] [-Credential <pscredential>] [-ConfigurationName <string>] [-AllowRedirection] [-SessionOption <PSSessionOption>] [-Authentication <AuthenticationMechanism>] [-CertificateThumbprint <string>] [<CommonParameters>]

Enter-PSSession [-InstanceId <guid>] [<CommonParameters>]

Enter-PSSession [[-Id] <int>] [<CommonParameters>]

Enter-PSSession [-Name <string>] [<CommonParameters>]

Enter-PSSession [-VMId] <guid> [-Credential] <pscredential> [-ConfigurationName <string>] [<CommonParameters>]

Enter-PSSession [-VMName] <string> [-Credential] <pscredential> [-ConfigurationName <string>] [<CommonParameters>]

Enter-PSSession [-ContainerId] <string> [-ConfigurationName <string>] [-RunAsAdministrator] [<CommonParameters>]

Возможно, вы захотите просто запустить Get-WmiObject на локальном компьютере, чтобы получить информацию с удаленного компьютера. используя кредиты для удаленного компьютера. Вам также может понадобиться использовать переключатель -EnableAllPrivileges, в зависимости от того, к чему вы обращаетесь. Как то так:

Get-WmiObject -Class Win32_OperatingSystem -ComputerName $Server -EnableAllPrivileges -Credential $Creds
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...