Descubra programaticamente se um computador é um servidor


0

Desejo descobrir programaticamente qual versão do Windows um computador está executando.

No shell do CMD, pode-se digitar o verque, para o meu computador, retorna:

Microsoft Windows [Versão 6.2.9200]

Mas isso pode ser o mesmo em um servidor. Existe um comando (talvez VBScript?) Para descobrir a versão exata do Windows, como o Windows Server 2008 ?

Respostas:


3

Uma maneira fácil em lote ou comandos do Windows.

Você pode usar o WMIC na linha de comando.

wmic os get caption

Na minha área de trabalho, ele retorna

Microsoft Windows 7 Professional

E em um servidor eu tenho

Microsoft Windows Server 2012 Standard

Outra opção é verificar as funções do servidor (para ver se realmente é um servidor ou apenas executando o SO do servidor)


0

Experimentar:

wmic os get name

O resultado foi divulgado (para o meu sistema):

C:\Users\superuser>wmic os get name
Name
Microsoft Windows 8 Enterprise|C:\Windows|\Device\Harddisk2\Partition1

0

Você poderia usar a php_uname()função

Exemplo de script PHP:

<?php
echo php_name();

Exemplo de saída:

Windows NT #### 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586

Não estou familiarizado imediatamente com uma implementação do VBScript, desculpe.


0

A classe WMI OperatingSystem expõe o membro 'OperatingSystemSKU', que deve fornecer a resposta que você precisa, mas não é resolvido para todas as versões do sistema operacional: http://msdn.microsoft.com/en-us/library/aa394239%28v= vs85% 29.aspx

On Error Resume Next 
' Connect to WMI and obtain instances of Win32_OperatingSystem
For Each objOS in GetObject( _
    "winmgmts:").InstancesOf ("Win32_OperatingSystem")

WScript.Echo "Name = " & objOS.Caption _
    & "Version = " & objOS.Version &VBCR _
    & "SKU = " & objOS.OperatingSystemSKU
Next

if Err <> 0 Then
    WScript.Echo Err.Description
    Err.Clear
End if

0

sim

Isso funciona (e testado) no Windows Server 2008 e W7.

No prompt de comando, digite

systeminfo | findstr /C:"OS"

E você obterá muitas informações, como

insira a descrição da imagem aqui

Versões anteriores do Windows podem exigir

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

Aprendo algo novo .. nunca percebi que o "systeminfo" está disponível. Graças à Dave!
Darius

Prazer @darius.
Dave

Dois possíveis problemas com isso, o Systeminfo é lento! E 2 a saída pareceOS Name: Microsoft Windows 7 Enterprise
Austin T French

0

A maneira mais rápida de encontrar o tipo de sistema operacional em um sistema Windows é:

  1. Prompt de Comando Aberto
  2. systeminfo | findstr "OS Name"

Nota: estou adicionando minha resposta, mesmo que haja algumas respostas semelhantes, porque acho que a que postei é a mais fácil de ler, facilitando a lembrança em tempo real. Também parece que leva um pouco menos de digitação para inicializar.

Além disso, dependendo das convenções de nomenclatura que estão sendo usadas para sua rede, você também pode tentar entrar hostname. Por exemplo, os computadores no meu ambiente tendem a ter o nome "BLD ## - SRV / WK-Sect ##", facilitando a compreensão do que é uma máquina e onde ela está localizada.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.