Что такое 64-битный эквивалент Win32_OperatingSystem? - PullRequest
1 голос
/ 05 мая 2010

Я унаследовал скрипт, работающий на Windows Server 2003, который мне нужно перенести на Windows Server 2008. Текущий скрипт:

strComputer = "servernamexyz"  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate,(Shutdown)}!\\" & _  
        strComputer & "\root\cimv2")  
Set colOperatingSystems = objWMIService.ExecQuery _  
    ("SELECT * FROM Win32_OperatingSystem")  
For Each objOperatingSystem in colOperatingSystems  
    objOperatingSystem.Win32Shutdown(12)  
Next

Как мне преобразовать это для запуска на Windows Server 2008? Спасибо!

Ответы [ 3 ]

3 голосов
/ 05 мая 2010

Он все еще присутствует на сервере 2008.

Метка Win32 немного прискорбна, в Windows95 не было перехода от 16-битной к 32-битной памяти, а было переключение в защищенный режим. Просто «32-битный лучше, чем 16-битный» было проще объяснить в рекламе, но он оставил огромное количество наследий внутренних имен в 64-битных ОС.

3 голосов
/ 05 мая 2010

Там нечего переводить. Это работает в Windows 2008 (32- и 64-разрядной версии).

2 голосов
/ 05 мая 2010

Как отмечено выше, скрипт был верным. Проблема была в настройке брандмауэра, запрещающей WMI с удаленного компьютера. Спасибо за быстрый отзыв. это позволило мне быстро взглянуть в другом направлении. Извините, я не могу голосовать за вас обоих ...

...