![Помимо поиска дампа $PSVersionTable и дампа переменной и окружения «PS-Drives», что еще я могу сделать для сравнения сред PowerShell?](https://rvso.com/image/652672/%D0%9F%D0%BE%D0%BC%D0%B8%D0%BC%D0%BE%20%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0%20%D0%B4%D0%B0%D0%BC%D0%BF%D0%B0%20%24PSVersionTable%20%D0%B8%20%D0%B4%D0%B0%D0%BC%D0%BF%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%B8%20%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%C2%ABPS-Drives%C2%BB%2C%20%D1%87%D1%82%D0%BE%20%D0%B5%D1%89%D0%B5%20%D1%8F%20%D0%BC%D0%BE%D0%B3%D1%83%20%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%B4%D0%BB%D1%8F%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%81%D1%80%D0%B5%D0%B4%20PowerShell%3F.png)
Помимо поиска $PSVersionTable
и дампа переменной и окружения «PS-Drives», что я могу сделать для сравнения сред PowerShell?
Вот в чем проблема:
- У меня очень похожие машины под управлением Microsoft Windows Server 2012.
$PSVersionTable
свалки как:Name Value ---- ----- PSVersion 4.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.34014 BuildVersion 6.3.9600.17090 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0} PSRemotingProtocolVersion 2.2
на работающем сервере, и
Name Value ---- ----- PSVersion 4.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.34209 BuildVersion 6.3.9600.16406 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0} PSRemotingProtocolVersion 2.2
на сервере, с которым у меня возникла проблема.
- Не совсем нет разницы в базовом
variable:
приводе. - Разумные различия в
env:
содержании - И у них обоих ExecutionPolicy установлен на RemoteSigned.
Итак, различия в том,незначительныйверсия. Но первый сервер будет запускать пример классов животных, который идет сРазвертывание PSClass, а второй — нет.
И я отследил это в отладчике до второго вызова Attach-PSScriptMethod
, независимо от того, в отладчике или нет, второй сервер просто зависает на этом вызове.
Обновлять:Только что получил изменение для обновления моего первого сервера до Build 6.3.30319.34209, той же младшей версии, что и у второго (и той же CLRVersion). Теперь пример тоже ломается. Похоже, Microsoft сломала библиотеку PSClass.
Надеюсь, не слишком много скриптов полагаются на используемую там объектно-ориентированную модель, потому что если они сломают простой пример, то они могли бы сломать и более сложный код.
Я до сих пор не могу даже заставить его выгрузитьпроблемав нем есть
решение1
Начиная с Powershell версии 4.0 и выше вы можете использовать $PSVersionTable. Для версий ниже 4.0 вам нужно будет использоватьGet-Host