2011-08-21 7 views
5

Acabo de recibir mi primer portátil con Windows de 64 bits. Ahora estoy buscando información sobre cuándo y por qué usar las versiones de 32 o 64 bits de PowerShell o ISE.¿Por qué y cuándo utilizar PowerShell o ISE de 32 o 64 bits?

Mi primera impresión es que mejor me quedo con 32 bit, hasta que entiendo las cosas mejor.

Lo que extraño o no encontré son tutoriales básicos y experiencias prácticas y enlaces a estas preguntas.

Respuesta

4

Estoy trabajando en un Seven 64Bits y W2K8 R2 por un año, y en la línea de comandos, siempre estoy usando Powershell de 64 bits sin ningún problema.

Para mí, el problema no es elegir 32 o 64 bits de PowerShell.exe, sino saber que los dos existen, y que un proceso de 32 bits utilizará los 32 bits de PowerShell. Por ejemplo, si usa PowerShell como script de ejecución posterior a la compilación en Visual Studio 2010, usará 32 bits de PoweShell porque Visual Studio 2010 es un proceso de 32 bits.

Las dos versiones ver dos lugares diferentes en el registro por lo que tiene que Set-ExecutionPolicy para ambos.

Como se trata de secuencias de comandos no utilizo ISE, pero el Editor de scripts PowerGUI. Puede usar

[intPtr]::size 

en un script para saber si está ejecutando PowerShell.exe de 32 o 64 bits.

+1

[intPtr] :: size devuelve 4 para PowerShell de 32 bits y 8 para PowerShell de 64 bits (al menos en mi máquina). [Los documentos] (https://msdn.microsoft.com/en-us/library/system.intptr.size (v = vs.110) .aspx) dicen que el valor está en Bytes, por lo que tiene sentido, pero solo quería señalarlo. –

-1

Creo que realmente no necesita preocuparse por eso. En cuanto a mi sistema de 64 bits, solo hay un PowerShell de 32 bits preinstalado (en \ system32) y funciona sin problemas. Así que simplemente úsela;) Y bueno, además de eso, es más probable que sea el mismo caso que con cualquier otra aplicación: si confía en funciones/propiedades que están disponibles solo en 64 bits, es mejor que use la versión de 64 bits de esa aplicación.

+6

En un sistema de 64 bits, creo que encontrará que el PowerShell que reside en 'system32 \ WindowsPowerShell' es la versión de 64 bits. Al igual que con todos los sistemas operativos Windows de 64 bits, los archivos de 32 bits, herramientas, DLL, etc. residen en 'C: \ Windows \ SysWOW64' y la edición de 32 bits de PowerShell reside en' C: \ Windows \ SysWOW64 \ WindowsPowerShell'. – Kev

3

Utilizaría las versiones de 64 bits de PowerShell o PowerShell ISE donde el problema que está tratando de resolver es únicamente de 64 bits. Por ejemplo:

  1. Es necesario el script de PowerShell para poder consumir más memoria que una aplicación de 32 bits permitirá

  2. que están consumiendo bibliotecas que son de 64 bits sólo o necesita para funcionar en un 64 entorno de bits. Por ejemplo, en Windows 2008R2/IIS7.5 si está utilizando el contenedor administrado Microsoft.Web.Management, if you need to modify administration.config a través de esta biblioteca, entonces su aplicación o script debe ejecutarse en un proceso de 64 bits.

+0

En el trabajo (x64) intentaré ejecutar un script que simplemente solicite memoria hasta que se bloquee y mire el consumo de memoria. Creo que los límites son mucho más bajos que 4 gb; imho OutOfMemoryExc vendrá antes. – stej

+0

Bien, mala suposición de viejas experiencias ASP.NET :) La memoria terminó con 10 GB. Así que olvida mi nota (dejándola aquí sin recuperar). – stej

2

Normalmente me quedo con PowerShell de 64 bits a menos que tenga un buen motivo para no usarlo. Un problema con PowerShell de 32 bits es que accidentalmente puede encontrarse en la ubicación HKLM: \ SOFTWARE \ Wow6432Node del registro en lugar de donde cree que está.

El ejemplo que he encontrado más a menudo para una necesidad explícita de 32 bits es cuando se utilizan ciertos objetos COM. Por ejemplo, si tiene un sistema operativo de 64 bits, pero Office de 32 bits ... Si desea instanciar un objeto de Word, Excel u Access, necesitará estar en PowerShell de 32 bits o de lo contrario será va a actuar como si no tuviera Office instalado en absoluto.

0

Cuando se ejecuta SharePoint 2013, es importante ejecutar las versiones de 64 bits cuando se intenta utilizar el snap de Windows.SharePoint.PowerShell.Pasé demasiado tiempo sin darme cuenta de que había abierto el ISE de 32 bits que no podía cargar los comandos de SharePoint.

Cuestiones relacionadas