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 ?

user261082
fonte

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)

Austin T Francês
fonte
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
Darius
fonte
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.

transformar
fonte
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
Frank Thomas
fonte
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"
Dave
fonte
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.

Michael H
fonte