Hantera med WMI

Åtkomst till WMI på distans

Hantera med WMI

En av de mer intressanta aspekterna av WMI är möjligheten att använda WMI-information på fjärrsystem. PowerShells Get-WMIObject cmdlet låter dig ange datornamnet från vilket du ska hämta klassinformation, som du kan se i:

PSH [D:foo]: get-wmiobject -cred $cred -datornamn smallguy.kapoho.net `

-klass win32_datorsystem

Domän: kapoho.net

Tillverkare: Dell Computer Corporation

Modell: Dimension 4600i

Namn: SMALLGUY

PrimaryOwnerName : thomas lee

Totalt fysiskt minne: 266293248

En av de problem som uppstår när man hanterar WMI på distans är det med referenser. I exempelskriptet ovan anropade jag Get-WMIObject och skickade dess autentiseringsuppgifter i variabeln $cred. Du kan enkelt erhålla dessa referenser genom att använda Get-Credential cmdleten, enligt följande:

PSH [D:foo]: $cred=get-credential

PSH [D:foo]: $cred | fl *

Användarnamn: kapohotfl

Lösenord : System.Security.SecureString

När du anropar Get-Credential-cmdleten, poppar PowerShell upp den välbekanta autentiseringsdialogrutan som du kan se nedan, och när du har erhållit autentiseringsuppgifter för fjärrsystemet skickar du dem med -cred-omkopplaren till Get-WMIObject-cmdleten, enligt ovan.

WMI, som du kanske redan har hämtat från den här kolumnen, är en extremt kraftfull mekanism och kan, precis som alla sådana vapen, vara farliga i fel händer. I allmänhet vill du ge WMI-förmåga endast till administratörer, men det finns fall där vissa klasser kan vara användbara för icke-administratörer, eller för personer som du inte vill göra en administratör! Du kan konfigurera WMI-säkerhet med hjälp av snapin-modulen WMI MMC wmimgmt.msc. Som standard kan endast ”autentiserade användare” komma åt WMI-infrastrukturen på den lokala datorn. Fjärråtkomst kräver att användaren är medlem i gruppen ”Administratörer”. Du kan använda wmimgt.msc-konsolen för att ändra dessa inställningar, men var mycket försiktig om du gör det, och se till att testa alla ändringar i WMI-säkerhetsinställningarna noggrant och fullständigt.

Nätverksåtkomstskydd och WMI

En av de mer spännande funktionerna i Longhorn och Vista är NAP (Network Access Protection). Idén med NAP är enkel – klientdatorer definierar sin egen ”hälsa” och presenterar ett hälsoförklaring när de försöker komma åt ett annat system eller få tillgång till ditt nätverk. System som anses ohälsosamma nekas åtkomst, medan friska system tillåts åtkomst, med förbehåll för den normala auktoriseringsprocessen.

NAP använder WMI för att fastställa hälsoförklaringen, med hjälp av en WMI-klass i namnområdet rootsecuritycenter. Du kan komma åt en av hälsoindikatorerna, antivirusprodukten, med hjälp av AntiVirusProduct-klassen:

PSH [D:foo]: gwmi -namespace rootsecuritycenter -klass AntiVirusProduct

företagsnamn: McAfee, Inc.

visningsnamn: McAfee VirusScan Enterprise

enableOnAccessUIMd5Hash :

enableOnAccessUIparametrar:

instanceGuid : {918A2B0B-2C60-4016-A4AB-E868DEABF7F0}

onAccessScanningEnabled : Sant

pathToEnableOnAccessUI :

pathToUpdateUI:

productUptoDate : Sant

updateUIMd5Hash :

uppdateraUIparametrar:

versionsnummer: 8.5.0.781

Liksom själva .NET Framework tillhandahåller WMI ett stort utbud av klasser, metoder och egenskaper som jag bara har kunnat beröra i den här artikeln. Du kan använda dessa kraftfulla komponenter för att hantera dina datorsystem, lokalt eller på distans, men använd dem med försiktighet. Som jag har visat kan du komma åt WMI-klasserna med PowerShell, och du kan också använda funktionerna som stöds av WMI i kombination med andra .NET-komponenter för att skapa skript som är rika och användbara, och även producera snygga utdata. Som administratör i en Microsoft-butik kan det vara till stor hjälp att veta hur man kommer åt WMI och lägger till ett kraftfullt nytt verktyg till din verktygslåda.

Lämna en kommentar

Din e-postadress kommer inte publiceras.