Olvasás angol nyelven

Megosztás a következőn keresztül:


Csatlakozás a WMI-hez távolról a PowerShell-lel

A Windows PowerShell egy egyszerű mechanizmust biztosít a Windows Management Instrumentationhoz (WMI) való csatlakozáshoz egy távoli számítógépen. A WMI távoli kapcsolataira hatással van a Windows tűzfal, a DCOM beállításai és a Felhasználói fiókok felügyelete (UAC). További információ a távoli kapcsolatok konfigurálásáról a Windows Vista-tól kezdve a WMI-hez való távoli kapcsolódás témakörében.

A jelen témakör példái a távoli számítógépen WMI-hez való csatlakozás VBScriptjein alapulnak. A jelen témakör összes példája a Get-WmiObject parancsmagot használja. További információ: Get-WmiObject.

Példák Windows PowerShell-példákra

Távoli számítógéppel létesített kapcsolat létrehozásakor a felhasználó megadhatja a kapcsolat adatait, például a távoli számítógép nevét, hitelesítő adatait és a kapcsolat hitelesítési szintjét. Az alábbi példák bemutatják, hogyan csatlakozhat távoli számítógéphez különböző hitelesítő adatokkal, és hogyan férhet hozzá a WMI-adatokhoz.

Az alábbi Windows PowerShell-példa a megszemélyesítési szint beállítását mutatja be:


Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process -Impersonation 3 -ComputerName Computer_B

Az előző példában a felhasználó ugyanazzal a hitelesítő adatokkal (tartomány és felhasználónév) csatlakozik egy távoli számítógéphez, amellyel bejelentkezett. A felhasználó megszemélyesítést is kérelmezett. Az eredeti VBScript-példától eltérően nincs szükség moniker sztringre, mert a megszemélyesítési szintet a "Megszemélyesítés" tulajdonság állítja be. Alapértelmezés szerint a megszemélyesítési szint 3 (Megszemélyesítés) értékre van állítva.

A példa felsorolja a távoli számítógépen futó Win32_Process osztály összes példányát.

Megjegyzés

Meg kell adnia azt a WMI-névteret, amelyhez csatlakozni szeretne a távoli számítógépen, mert lehetséges, hogy az alapértelmezett névtér nem azonos a különböző számítógépeken.

 

Az alábbi Windows PowerShell-példa bemutatja, hogyan csatlakozhat egy különböző hitelesítő adatokkal rendelkező távoli számítógéphez, és hogyan állíthatja be a megszemélyesítési szintet 3-ra, vagyis megszemélyesítésre:


$Computer = "atl-dc-01"

Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process -Impersonation 3 -Credential `
FABRIKAM\administrator -ComputerName $Computer

Az előző példában a számítógép neve hozzá lett rendelve a $Computer változóhoz. A felhasználó meghatározott hitelesítő adatokkal (tartomány és felhasználónév) csatlakozik egy távoli számítógéphez, és megszemélyesítést kér a hitelesítési szinthez.

Megjegyzés

A gravis karakter (`) vonaltörést jelez. Ez egyenértékű a VBScript aláhúzásjelével (_).

 

Az alábbi Windows PowerShell-példa távoli számítógépek egy csoportjához csatlakozik ugyanabban a tartományban azáltal, hogy létrehoz egy távoli számítógépneveket tartalmazó tömböt, majd megjeleníti a Plug and Play-eszközök neveit – Win32_PnPEntitypéldányait – az egyes számítógépeken:

$ArrComputers = "Computer1", "Computer2", "Computer3"
foreach ($Computer in $ArrComputers) 
{
write-host ""
write-host "===================================="
write-host "Computer: $Computer"
write-host "===================================="

write-host "-----------------------------------"
write-host "Win32_PnPEntity instance"
write-host "-----------------------------------"

$ColItems = Get-WmiObject -Class Win32_PnPEntity -Namespace "root\cimv2" -Computer $Computer
$ColItems[0..47] | Format-List Name, Status
}

Megjegyzés

Az előző Windows PowerShell-szkript futtatásához rendszergazdai jogosultságokkal kell rendelkeznie a távoli számítógépeken. Az előző példához kapcsolódóan vegye figyelembe a következőket is:

 

  • A tömb számítógépneveit idézőjelek közé kell foglalni, mert karakterláncok.
  • A Get-WmiObject által visszaadott objektumok a $ColItems változóhoz vannak rendelve.
  • A tartomány operátora [] a Plug and Play-eszközök listáját 48 példányra korlátozta. További információ: About_Operators.
  • Az "|" a csővezeték karaktere. A ColItems által visszaadott objektumot a rendszer elküldi a Formátumlista parancsmagnak.

Az alábbi Windows PowerShell-példa lehetővé teszi, hogy egy másik tartomány távoli számítógépéhez csatlakozzon. Ez a példa a távoli számítógépen található Win32_Process példányainak folyamatneveit is megjeleníti.

$Computer = "FullComputerName" 
$Domain = "DOMAIN"
$Credential = Get-Credential
$ColItems = Get-WmiObject -Class Win32_Process -Authority "ntlmdomain:$Domain" `
-Credential $Credential -Locale "MS_409" -Namespace "root\cimv2"  -ComputerName $Computer

foreach ($ObjItem in $colItems) 
{
write-host "Process Name:" $ObjItem.name
}

Megjegyzés

Az előző Windows PowerShell-szkript futtatásához rendszergazdának kell lennie a távoli számítógépen.

 

Az előző példában a felhasználó egy másik tartomány távoli számítógépéhez csatlakozik, és megadja az előnyben részesített területi beállításokat. A Get-Credential parancs kéri a felhasználó hitelesítő adatait, és hozzárendeli a hitelesítő adatokat egy objektumhoz. A példa a számítógépen futó Win32_Process osztály példányainak nevét is felsorolja.

Csatlakozás a WMI-hez távoli számítógépen