¿Cómo activo o desactivo las funciones de Windows usando PowerShell o la línea de comandos en Windows 7?

11

Utilicé secuencias de comandos sysocmgren Windows XP, servermanagercmden el servidor 2008, y ahora encuentro que tengo que usar un nuevo módulo de PowerShell servermanagerpara instalar funciones en Server 2008 R2 y, por lo tanto, esperaría usar el mismo módulo en Windows 7, pero no es ahí.

¿Cómo puedo instalar las características de Windows usando la línea de comando o PowerShell en Windows 7?

Chris Magnuson
fuente
El tiempo finalmente ha proporcionado una forma de usar PowerShell, mi respuesta está a continuación.
MDMoore313

Respuestas:

6

Para una verdadera experiencia de PowerShell, debe descargar Windows AIK para 8.0 y usar el dism module. Se encuentra en

C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

y solo puedes apuntar PowerShell a esa carpeta con

Import-Module C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

Asegúrese de reemplazar <arch> con la arquitectura de la máquina en la que se ejecuta powershell. Esa carpeta DISM incluso se puede copiar y redistribuir a las máquinas si es necesario (hablando de la funcionalidad, no sé si Microsoft realmente permite la redistribución ).

El comando específico para descartar una característica opcional de Windows es

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter

Eso devolverá un Microsoft.DISM.Commands.BasicFeatureObject, como se ve aquí . Desde allí, puede establecer la statepropiedad en deshabilitada, como

$(Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter).state = 
    [Microsoft.DISM.Commands.FeatureState]::Disabled

y adiós centro de medios. Por supuesto, esto debe ejecutarse desde un indicador elevado, y el -Onlineconmutador se refiere a la ejecución actual de Windows, en lugar de una imagen fuera de línea.

Además, este módulo requiere WMF 3.0 y eso requiere .NET 4.0, solo para su información.

MDMoore313
fuente
1
Pude ejecutar Enable-WindowsOptionalFeature -FeatureName NetFx3 -Onlineen una máquina con Windows 8.1 sin instalar el AIK. Sin embargo, sí instalé la vista previa de WMF5; tal vez eso lo proporciona? El módulo se carga desdeC:\windows\system32\windowspowershell\v1.0\Modules\Dism\Dism.psm1
bshacklett el
4

Intentar ejecutar PowerShell desde Windows 7/8 solo te dará esto:

Get-WindowsFeature: el destino del cmdlet especificado no puede ser un sistema operativo basado en el cliente de Windows.

dism Es la única forma en que he encontrado que funciona.

n1nj4
fuente
2

Agregue la función ServerManager manualmente. Luego puede agregar servermanager-module:

import-module servermanager

get-windowsfeature


fuente
1
¿Cómo agregaría la función ServerManager por separado?
fschwiet
2
Esto funcionaría para Windows 2008R2 y posteriores, pero no para Windows 7.
Trondh
2
ocsetup.exe /?

Además de dism, parece que también puede usar ocsetup, que está instalado de forma predeterminada en Windows Vista y Windows Server 2008. Si estaba buscando crear un script que funcione en los tres, este sería probablemente el camino a seguir.

Chris Magnuson
fuente
-1

Para la parte de Powershell, abra el indicador 'Módulos de Windows Powershell' e ingrese

PS1> Add-WindowsFeature [nombre de la función]

p.ej

Add-WindowsFeature SMTP-Server

Get-WindowsFeature le muestra los nombres de todas las funciones disponibles

usuario25572
fuente
1
Estoy bastante seguro de que esto solo funciona en Windows Server 2008 R2.
Jeffery Hicks
Jeffery es correcto, esto no funciona en Windows 7 por defecto. Si conoces una manera de hacerlo funcionar, me gustaría saberlo.
Chris Magnuson el
-1

Puede usar una sesión remota de Windows 7 a un cuadro de Windows Server 2008 R2 y ejecutar Add-WindowsFeature. No he podido encontrarlo en Win7 incluso con RSAT instalado.

Jeffery Hicks
fuente
1
¿No agregaría eso la característica al cuadro Windows Server 2008 R2 y no a la instancia local de Windows 7? Si no, por favor explique.
Chris Magnuson el