2010-05-05 183 views
1

我继承了Windows Server 2003上运行的脚本,我需要移植到Windows Server 2008目前的脚本:什么是Win32_OperatingSystem的64位等价物?

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

没有什么可以翻译的。这适用于Windows 2008(32位和64位)。

3

它仍然存在于server2008上。

Win32标签有点不幸,它不是从16位到32位内存的变化,而是windows95中的大事,它是切换到保护模式。
只是“32bit比16bit更好”在广告中更容易解释 - 但它在64位操作系统中留下了很多内部命名遗留物。

+0

好的,谢谢。看起来我在这个问题上追逐了错误的兔子。它不工作,所以我将不得不挖掘更多 - 不知道为什么。 – Jim 2010-05-05 17:26:19

2

如上所述,该脚本是正确的。问题在于防火墙设置不允许来自远程计算机的WMI。感谢您的快速反馈。它使我能够迅速寻找不同的方向。对不起,我不能为你们两个投票呢......