WMI objektumok tulajdonságainak módosítása, új objektumok létrehozása és eltávolítása (Set-WMIInstance, Remove-WMIObject)

Új WMI példányok és meglevők tulajdonságainak módosítására a Set-WMIInstance  cmdletet használhatjuk. Ahhoz, hogy ezt megfelelően használhassuk, meg kell tudnunk a keresett WMI objektum példány elérési útját. Ezt azért fontos, mert egy WMI osztálynak több példánya is lehet, így nem mindegy, hogy melyiknek módosítjuk a tulajdonságait. Elsőként tehát keressük meg az objektumot, jelen esetben példaként a Restore Point (helyreállítási pontok) konfigurációját tartalmazó WMI objektumot:

PS C:\> Get-WmiObject -Namespace ROOT\DEFAULT -Class systemrestoreconfig

 

 

__GENUS           : 2

__CLASS           : SystemRestoreConfig

__SUPERCLASS      :

__DYNASTY         : SystemRestoreConfig

__RELPATH         : SystemRestoreConfig.MyKey="SR"

__PROPERTY_COUNT  : 5

__DERIVATION      : {}

__SERVER          : TIBI-PC

__NAMESPACE       : ROOT\DEFAULT

__PATH            : \\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKey="SR"

DiskPercent       : 15

MyKey             : SR

RPGlobalInterval  :

RPLifeInterval    :

RPSessionInterval : 1

Ez azért kell nekem, hogy beállíthassam, hogy a helyreállítási pontokat mennyi ideig őrizze a rendszer. Ezt az RPLifeInterval tulajdonság módosításával tehetem be, itt másodpercekben kell megadni az időt. A Set-WMIInstace cmdletnek a –Path paraméterének az előbb látott keresés __PATH adatát kell átadni, ezzel teljesen egyértelmű, hogy melyik objektumot is akarjuk módosítani:

PS C:\> Set-WmiInstance -Path '\\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKey

="SR"' -arguments @{RPLifeInterval = 864000}

 

 

__GENUS           : 2

__CLASS           : SystemRestoreConfig

__SUPERCLASS      :

__DYNASTY         : SystemRestoreConfig

__RELPATH         : SystemRestoreConfig.MyKey="SR"

__PROPERTY_COUNT  : 5

__DERIVATION      : {}

__SERVER          : TIBI-PC

__NAMESPACE       : ROOT\DEFAULT

__PATH            : \\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKey="SR"

DiskPercent       : 15

MyKey             : SR

RPGlobalInterval  :

RPLifeInterval    : 864000

RPSessionInterval : 1

Az arguments paraméternek egy olyan hashtáblát kell átadni, amelyben a tulajdonságnév – érték párok vannak.

Nézzük meg, hogy mi történt volna, ha csak az osztályt határozzuk meg a Set-WMIInstance számára:

PS C:\> set-Wmiinstance -Namespace ROOT\DEFAULT -Class systemrestoreconfig -Arg

uments @{RPLifeInterval = 864000}

 

 

__GENUS           : 2

__CLASS           : SystemRestoreConfig

__SUPERCLASS      :

__DYNASTY         : SystemRestoreConfig

__RELPATH         : SystemRestoreConfig.MyKey="{0F45EB5A-31C3-4161-BB1A-3CCFC2

                    50DC20}"

__PROPERTY_COUNT  : 5

__DERIVATION      : {}

__SERVER          : TIBI-PC

__NAMESPACE       : ROOT\DEFAULT

__PATH            : \\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKey="{0F45EB5

                    A-31C3-4161-BB1A-3CCFC250DC20}"

DiskPercent       :

MyKey             : {0F45EB5A-31C3-4161-BB1A-3CCFC250DC20}

RPGlobalInterval  :

RPLifeInterval    : 864000

RPSessionInterval :

Látszólag minden úgy történt majdnem, mint eddig, de ha újra kilistázom a SystemRestoreConfig osztály elemeit, akkor láthatjuk, hogy most nem a meglevő elemet módosítottunk, hanem egy új objektumot hoztunk létre:

PS C:\> Get-WmiObject -Namespace ROOT\DEFAULT -Class systemrestoreconfig

 

 

__GENUS           : 2

__CLASS           : SystemRestoreConfig

__SUPERCLASS      :

__DYNASTY         : SystemRestoreConfig

__RELPATH         : SystemRestoreConfig.MyKey="{0F45EB5A-31C3-4161-BB1A-3CCFC2

                    50DC20}"

__PROPERTY_COUNT  : 5

__DERIVATION      : {}

__SERVER          : TIBI-PC

__NAMESPACE       : ROOT\DEFAULT

__PATH            : \\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKey="{0F45EB5

                    A-31C3-4161-BB1A-3CCFC250DC20}"

DiskPercent       :

MyKey             : {0F45EB5A-31C3-4161-BB1A-3CCFC250DC20}

RPGlobalInterval  :

RPLifeInterval    : 864000

RPSessionInterval :

 

__GENUS           : 2

__CLASS           : SystemRestoreConfig

__SUPERCLASS      :

__DYNASTY         : SystemRestoreConfig

__RELPATH         : SystemRestoreConfig.MyKey="SR"

__PROPERTY_COUNT  : 5

__DERIVATION      : {}

__SERVER          : TIBI-PC

__NAMESPACE       : ROOT\DEFAULT

__PATH            : \\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKey="SR"

DiskPercent       : 15

MyKey             : SR

RPGlobalInterval  :

RPLifeInterval    : 864000

RPSessionInterval : 1

A nem szükséges példányt a Remove-WMIObject  cmdlettel tudjuk eltávolítani, itt is a pontos elérési utat kell megadni az objektum pontos azonosítása érdekében:

PS C:\> Remove-WmiObject -Path '\\TIBI-PC\ROOT\DEFAULT:SystemRestoreConfig.MyKe

y="{0F45EB5A-31C3-4161-BB1A-3CCFC250DC20}"'



Word To HTML Converter