Ошибка Set-StrictMode PowerShell 7 или нормальное поведение - PullRequest
0 голосов
/ 17 апреля 2020

Надеюсь, вы мне это объясните. У меня есть скрипт для сканирования AD на наличие компьютерных объектов. Я только начал работать с powershell 7.

Часть сценария выглядит следующим образом:



$ErrorActionPreference = "Stop"
Set-StrictMode -Version "Latest"

$adComputerCollection  = Get-ADComputer -Filter { OperatingSystem -like "*Windows Server*" }

С powershell 7 выдает ошибку следующее:

Get-ADComputer: The 'Get-ADComputer' command was found in the module 'ActiveDirectory', but the module could not be loaded. For more information, run 'Import-Module ActiveDirectory'.

ок, нет проблем, я просто добавляю модуль импорта, и мой скрипт выглядит следующим образом:

$ErrorActionPreference = "Stop"
Set-StrictMode -Version "Latest"

Import-Module "ActiveDirectory"

$adComputerCollection  = Get-ADComputer -Filter { OperatingSystem -like "*Windows Server*" }

Затем я получаю следующую ошибку при импорте модуля activeDirectory:

Get-PSSession: The remote session with the name WinPSCompatSession  is not available.

Это нормальное поведение. С powershell 5.1 у меня нет этой проблемы. Я могу исправить это, установив строгий режим после получения коллекции объявлений. Может ли кто-нибудь объяснить мне это поведение?

Мой psversiontable:

Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 10.0.14393
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

1 Ответ

0 голосов
/ 17 апреля 2020

Модуль activedirectory загружается в «удаленный» сеанс PSSession на локальный хост, называемый WinPSCompatSession. Модуль на самом деле не работает под управлением PS 7, но 5.1.

Возможно, поэтому вы видите ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...