18 votos

Identificar Windows 2012 Server core

Quiero detectar si un 2012 servidor se ha configurado como un Núcleo de instalar mediante WMI. Una pregunta anterior, parece indicar que puedo conseguir el OperatingSystemSKU de Win32_OperatingSystem. Mi Windows 2012 sistemas principales están reportando un OperatingSystemSKU de 7. El artículo de la otra pregunta parece indicar que es un PRODUCT_STANDARD_SERVER, y si había un núcleo de instalar que deben esperar para ver a un valor de 0x0000000D lugar para PRODUCT_STANDARD_SERVER_CORE.

Lo que me estoy perdiendo aquí. Finalmente, me quiero crear una política y un uso a nivel de elemento de orientación para que sólo se aplicará esa política a Windows 2012 Server Core instala.

PS C:\Users\zoredache\Documents> gwmi -Query "select OPeratingSystemSKU,Version,ProductType from Win32_OperatingSystem"

__GENUS            : 2
__CLASS            : Win32_OperatingSystem
__SUPERCLASS       :
__DYNASTY          :
__RELPATH          : Win32_OperatingSystem=@
__PROPERTY_COUNT   : 3
__DERIVATION       : {}
__SERVER           :
__NAMESPACE        :
__PATH             :
OperatingSystemSKU : 7
ProductType        : 2
Version            : 6.2.9200

24voto

Todd Puntos 2342

En PowerShell:

Get-WMIObject Win32_OptionalFeature | where Name -eq 'Server-Gui-Shell' | Select InstallState

devuelve 1 en un servidor completo y 2 en un servidor de instalación básica.

Editar:

Mientras mi respuesta anterior es correcta, hay dos problemas con esto:

  1. Cuando se utiliza este comando en una estación de trabajo, no devuelve nada, así que usted tiene que añadir un extra de verificar esto.

  2. Es lento, cuando lo probé, me tomó entre 600 y 3.500 milisegundos.

Así que el enfoque más pragmático es comprobar la existencia de un determinado archivo:

(Test-Path "$env:windir\explorer.exe")

Esto devuelve $false para instalaciones Server Core y $true para todos los demás y se necesita de un milisegundo a ejecutar.

6voto

Michael Hampton Puntos 88271

Divertido, que el artículo de MSDN que enlaza contenida la respuesta:

PRODUCT_*_SERVER_CORE valores no son devueltos en Windows Server 2012.

Esto es debido a que Server 2012 puede ser libremente convertir entre "Server Core" y "completo" de la instalación, simplemente por la adición o eliminación de las características adecuadas.

Usted querrá comprobar la presencia o ausencia de esas características (por ejemplo, Servidor-Gui-Mgmt-Infra, Servidor-Gui-Shell, de Escritorio, de la Experiencia).

5voto

Ilari Kajaste Puntos 989

Como la interfaz gráfica de usuario es sólo una característica, usted puede consultar la lista de características instaladas

Sólo prueba esta en powershell en un servidor aquí funcionó bastante bien:

Volcado de una lista de características para agarrar el nombre

Get-WmiObject Win32_OptionalFeature > features.txt

Búsqueda en el texto de features.txt me dice que la característica se denomina "Servidor-Gui-Mgmt' (otras características pueden ser instalados también como Michael notas en su respuesta, así que puedes probar para ellos también), y que podemos buscar para ver si ese es el presente

Get-WmiObject -query "select * from Win32_OptionalFeature where name = 'Server-Gui'"

enter image description here

2voto

john Puntos 937

Sospecho que ya que son esencialmente el mismo que en 2012, con sólo un par de características opcionales para distinguirlas, puede consultar las características del lugar.

este artículo es una referencia para los Win32_OptionalFeature clase, que le permitirá la consulta de las características. Las características opcionales se define como Servidor-Gui-Mgmt-Infra, Servidor-Gui-Shell de Escritorio y la Experiencia, como se describe en este artículo.

Puede consultar el 3 de ellas y el uso Booleano, y NO de la lógica para seleccionar los servidores que no tienen ninguna de estas características instalado.

1voto

Tohuw Puntos 220

Pensé en hablar con un Filtro WMI para esta solución, así que usted puede aplicar Gpo Básicos de 2012+ sistemas:

SELECT * FROM Win32_OptionalFeature WHERE Caption = "Microsoft-Windows-Server-Gui-Shell-Package-DisplayName" AND InstallState = "2"

Para esta prueba en la línea de comandos:

WMIC PATH Win32_OptionalFeature WHERE "Caption = 'Microsoft-Windows-Server-Gui-Shell-Package-DisplayName' AND InstallState = 2"

Me encontré con este hilo cuando tratando de encontrar una manera de crear Filtros WMI para el centro de 2012 los servidores, y por alguna razón no me producen al haber WMI de verificación Win32_OptionalFeature (o, de hecho, que tal camino no existe). Espero que esto ayude a alguien más.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: