Я пытаюсь следовать руководствам по доступу к IIS 6 с помощью WMI, но мне сложно понять, как перевести Получить метод SWbemServices, поскольку Get-WmiObject, похоже, не использует тот же синтаксис пути (Описание расположения объекта WMI).
Пример, которому я следовал, находится на Подключение к поставщику WMI:
' Method 1
set locatorObj = CreateObject("WbemScripting.SWbemLocator")
set providerObj = locatorObj.ConnectServer("MyMachine", "root/MicrosoftIISv2")
set nodeObj = providerObj.Get("IIsWebVirtualDir='W3SVC/1/Root'")
' Method 2
set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2")
set nodeObj = providerObj.get("IIsWebVirtualDir='W3SVC/1/ROOT'")
' Method 3
set nodeObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2:IIsWebVirtualDir='W3SVC/1/ROOT'")
Во-первых, это зависит от того, относится ли строка к объекту или классу.
Для объектов; вы можете преобразовать строку в wmi
.
Для занятий; вы можете преобразовать строку в wmiclass
.
[wmi] 'root\MicrosoftIISv2:IIsWebVirtualDir="W3SVC/1/ROOT"'
[wmiclass] 'root\MicrosoftIISv2:IIsWebVirtualDir'
Некоторые имена методов в WMI могут быть изменены с их имен wsh, например SpawnInstance_
сейчас CreateInstance
и Put_
просто Put
.
wmi - это псевдоним для System.Management.ManagementObject.
wmiclass - это псевдоним для System.Management.ManagementClass
Видеть https://stackoverflow.com/questions/261237/creating-an-iis-6-0-application-pool-using-powershell/264404#264404 для примера.