PDA

Показать полную графическую версию : Обойти проверку модуля


Junos
18-07-2014, 22:30
Например выполняется код на Win7:

$session3 = New-PSSession -ConnectionUri $uri3 -Credential $credential
$command = {Get-ADDomain | Select-Object -ExpandProperty Forest}
$domainok = Invoke-Command -Session $session3 -Scriptblock $command
Remove-PSSession $session3

На хост машине "Get-ADDomain" нету. Соответственно получаю ошибку

The term 'Get-ADDomain' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
+ CategoryInfo : ObjectNotFound: (Get-ADDomain:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Но на удаленном сервере (Win2012R2) эта команда есть. Вопрос в том - как обойти это?

Junos
19-07-2014, 09:59
Конкретно в данном случае решил проблемой установкой KB958830 (http://www.microsoft.com/ru-RU/download/details.aspx?id=7887). Но в глобальном виде проблему не решил.

Kazun
19-07-2014, 20:06
1) Чтобы использовать модуль Active Directory на клиентских ОС начиная с Windows 7, требуется установить на клиенте - remote system administration tools

2) Можно использовать сторонний модуль, который полностью не уступает возможностям встроенного - ActiveRoles Management Shell for Active Directory (http://www.quest.com/powershell/activeroles-server.aspx)

3) Но на удаленном сервере (Win2012R2) эта команда есть - По умолчанию не доступны. Доступны только после установки средств администрирования Active Directory.

А что подразумевается под "Но в глобальном виде проблему не решил."?

Junos
19-07-2014, 21:41
Я имею в виду выполнять любые команды (которых нет на хосте) удаленно (через Invoke-Command)

Kazun
19-07-2014, 23:32
А как связана ошибка на хосте Windows 7 и удаленная сессия c Windows Server 2012 R2? И в чем проблема использовать Invoke-Command?




© OSzone.net 2001-2012