CIM metódusok hívása

A CIM cmdletek és CIM objektumok kicsit egyszerűbbé teszik a CIM metódusok meghívását. Példaként nézzük egy megosztás létrehozását! Elsőként vegyük magát a Win32_Share osztályt:

PS C:\> $shareclass = Get-CimClass -ClassName Win32_Share

PS C:\> $shareclass

 

   NameSpace: ROOT/cimv2

 

CimClassName                        CimClassMethods      CimClassProperties

------------                        ---------------      ------------------

Win32_Share                         {Create, SetShare... {Caption, Descript...

A CimClassMethods tulajdonság alatt megtaláljuk az összes metódust:

PS C:\> $shareclass.CimClassMethods

 

Name          ReturnType Parameters                                     Qualif

                                                                        iers

----          ---------- ----------                                     ------

Create            UInt32 {Access, Description, MaximumAllowed, Name...} {Co...

SetShareInfo      UInt32 {Access, Description, MaximumAllowed}          {Im...

GetAccessMask     UInt32 {}                                             {Im...

Delete            UInt32 {}                                             {De...

Nekünk itt most a Create metódus kell, a paraméterezését megismerhetjük a Parameters tulajdonság alatt:

PS C:\> $shareclass.CimClassMethods.Item("Create").parameters

 

Name            CimType Qualifiers                                    Referenc

                                                                      eClassNa

                                                                      me

----            ------- ----------                                    --------

Access         Instance {EmbeddedInstance, ID, In, MappingStrings...}

Description      String {ID, In, MappingStrings, Optional}

MaximumAllowed   UInt32 {ID, In, MappingStrings, Optional}

Name             String {ID, In, MappingStrings}

Password         String {ID, In, MappingStrings, Optional}

Path             String {ID, In, MappingStrings}

Type             UInt32 {ID, In, MappingStrings}

Láthatjuk a Qualifiers tulajdonság alatt, hogy melyek a kötelező paraméterek, ezek azok, amelyeknél nem szerepel az Optional minősítés. Ezeket mindenképpen használni kell a metódus meghívásakor. Könnyebbség a CIM cmdleteknél, hogy a metódusok paramétereit hashtábla formában adhatjuk meg, azaz sokkal egyértelműbb, hogy melyik paraméterérték melyik paraméterhez tartozik:

PS C:\> Invoke-CimMethod -ClassName Win32_Share -MethodName Create -Arguments @

{

>>         Name = "PSShare"

>>         Path = "C:\PowerShell"

>>         Type = [uint32] 0

>>     }

 

ReturnValue PSComputerName

----------- --------------

          0

Példányok metódusait is ugyanezzel a cmdlettel lehet meghívni. Példaként letörlöm az előbb létrehozott megosztást:

PS C:\> $s = Get-CimInstance -ClassName Win32_Share -Filter 'Name="PSShare"'

PS C:\> $s

 

Name    Path          Description

----    ----          -----------

PSShare C:\PowerShell



Word To HTML Converter