2 votes

Convertir WMI de vbscript à powershell

J'essaie de suivre les guides d'accès à IIS 6 à l'aide de WMI, mais j'ai du mal à trouver comment traduire l'adresse de l'utilisateur. Obtenir la méthode de SWbemServices car Get-WmiObject ne semble pas utiliser la même syntaxe de chemin ( Décrire l'emplacement d'un objet WMI ).

L'exemple que je suivais se trouve sur Connexion au fournisseur 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'")

4voto

Cela dépend d'abord du fait que la chaîne de caractères se réfère à un objet ou à une classe.
Pour les objets, vous pouvez transformer la chaîne en wmi .
Pour les classes, vous pouvez convertir la chaîne en wmiclass .

[wmi] 'root\MicrosoftIISv2:IIsWebVirtualDir="W3SVC/1/ROOT"'
[wmiclass] 'root\MicrosoftIISv2:IIsWebVirtualDir'

Certains noms de méthodes dans WMI peuvent être modifiés par rapport à leur nom wsh, par exemple SpawnInstance_ est maintenant CreateInstance y Put_ est juste Put .

wmi est un alias pour System.Management.ManagementObject .
wmiclass est un alias pour System.Management.ManagementClass

Voir https://stackoverflow.com/questions/261237/creating-an-iis-6-0-application-pool-using-powershell/264404#264404 pour un exemple.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X