![Además de buscar volcar $PSVersionTable y volcar la variable y el entorno "PS-Drives", ¿qué más puedo hacer para comparar entornos PowerShell?](https://rvso.com/image/652672/Adem%C3%A1s%20de%20buscar%20volcar%20%24PSVersionTable%20y%20volcar%20la%20variable%20y%20el%20entorno%20%22PS-Drives%22%2C%20%C2%BFqu%C3%A9%20m%C3%A1s%20puedo%20hacer%20para%20comparar%20entornos%20PowerShell%3F.png)
Además de buscar volcar $PSVersionTable
y volcar la variable y el entorno "PS-Drives", ¿qué puedo hacer para comparar entornos PowerShell?
Aquí está el problema:
- Tengo máquinas muy similares que ejecutan Microsoft Windows Server 2012.
$PSVersionTable
volcados como: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
en el servidor que funciona, y
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
en el servidor con el que tengo un problema.
- No hay mucha diferencia en un
variable:
disco base. - Diferencias razonables en
env:
el contenido. - Y ambos tienen ExecutionPolicy configurado en RemoteSigned.
Entonces las diferencias están en elmenorversión. Pero el primer servidor ejecutará el ejemplo de clases de animales que viene con elImplementación de PSClass, y el segundo no.
Y lo rastreé en el depurador hasta la segunda llamada Attach-PSScriptMethod
, ya sea en un depurador o no, el segundo servidor simplemente cuelga en esa llamada.
Actualizar:Acabo de recibir un cambio para actualizar mi primer servidor a la compilación 6.3.30319.34209, la misma versión menor que el segundo (y la misma versión CLR). Ahora el ejemplo también falla. Parece que Microsoft rompió la biblioteca PSClass.
Espero que no muchos scripts dependan del modelo OO utilizado allí, porque si rompieron el ejemplo simple, también podrían haber roto código más pesado.
Todavía no puedo ni conseguir que descargue elproblemaTiene
Respuesta1
A partir de Powershell versión 4.0 y superior, puede utilizar $PSVersionTable. Cualquier versión inferior a la 4.0, deberá usarGet-Host