Windows PowerShell Guide'programmerare

Den här programmerarens guide riktar sig till utvecklare som är intresserade av att tillhandahålla en kommandoradshanteringsmiljö för systemadministratörer. Windows PowerShell är ett enkelt sätt för dig att skapa hanteringskommandon som exponerar .NET-objekt, samtidigt som du Windows PowerShell göra det mesta av arbetet åt dig.

I traditionell kommandoutveckling måste du skriva en parameterparser, en parameterbindning, filter och alla andra funktioner som exponeras av varje kommando. Windows PowerShell innehåller följande för att göra det enkelt för dig att skriva kommandon:

  • En kraftfull Windows PowerShell (körningsmotor) med en egen parser och en mekanism för att automatiskt binda kommandoparametrar.

  • Verktyg för att formatera och visa kommandoresultat med hjälp av en kommandoradstolk (CLI).

  • Stöd för hög funktionalitet (via Windows PowerShell providers) som gör det enkelt att komma åt lagrade data.

    Till låg kostnad kan du representera ett .NET-objekt med ett omfattande kommando eller en uppsättning kommandon som ger administratören en fullständig kommandoradsupplevelse.

    I nästa avsnitt går vi Windows PowerShell begrepp och termer. Bekanta dig med dessa begrepp och termer innan du börjar utveckla.

Om Windows PowerShell

Windows PowerShell definierar flera typer av kommandon som du kan använda i utvecklingen. Dessa kommandon är: funktioner, filter, skript, alias och körbara filer (program). Huvudkommandotypen som beskrivs i den här guiden är ett enkelt, litet kommando som kallas "cmdlet". Windows PowerShell en uppsättning cmdlets och har fullständigt stöd för cmdlet-anpassning som passar din miljö. Körningskörningen Windows PowerShell alla kommandotyper precis som den gör med cmdlets, med hjälp av pipelines.

Förutom kommandon stöder Windows PowerShell olika anpassningsbara Windows PowerShell som gör specifika uppsättningar cmdlets tillgängliga. Gränssnittet fungerar i Windows PowerShell värdprogram (Windows PowerShell.exe), men det är lika tillgängligt från ett anpassat värdprogram som du kan utveckla för att uppfylla specifika krav. Mer information finns i How Windows PowerShell Works.

Windows PowerShell-cmdletar

En cmdlet är ett enkelt kommando som används i Windows PowerShell miljö. Den Windows PowerShell runtime anropar dessa cmdlets i samband med automatiseringsskript som finns på kommandoraden, och Windows PowerShell-körningen anropar dem även programmatiskt via Windows PowerShell-API:er.

Mer information om cmdlets finns i Skriva en Windows PowerShell-cmdlet.

Windows PowerShell Leverantörer

Vid administrativa uppgifter kan användaren behöva undersöka data som lagras i ett datalager (till exempel filsystemet, Windows Registry eller ett certifikatarkiv). För att göra dessa åtgärder enklare Windows PowerShell en modul som kallas en Windows PowerShell-provider som kan användas för att komma åt ett specifikt datalager, till exempel Windows Registry. Varje provider stöder en uppsättning relaterade cmdlets för att ge användaren en symmetrisk vy över data i arkivet.

Windows PowerShell tillhandahåller flera Windows PowerShell leverantörer. Registerprovidern stöder till exempel navigering och manipulering av Windows Registry. Registernycklar representeras som objekt och registervärden behandlas som egenskaper.

Om du exponerar ett datalager som användaren behöver åtkomst till kan du behöva skriva en egen Windows PowerShell provider enligt beskrivningen i Skapa Windows PowerShell Providers. Mer information omWindows PowerShell-providers finns i How Windows PowerShell Works.

Värdprogram

Windows PowerShell innehåller standardvärden för powershell.exe, vilket är ett konsolprogram som interagerar med användaren och är värd för Windows PowerShell-körningen via ett konsolfönster.

Det är bara sällan du behöver skriva ett eget värdprogram för Windows PowerShell, även om anpassning stöds. Ett fall där du kan behöva ett eget program är när du har ett krav på ett GUI-gränssnitt som är mer omfattande än gränssnittet som tillhandahålls av standardvärdprogrammet. Du kanske också vill ha ett anpassat program när du baserar ditt grafiska användargränssnitt på kommandoraden. Mer information finns i How to Create a Windows PowerShell Host Application.

Windows PowerShell Runtime

Den Windows PowerShell körningen är körningsmotorn som implementerar kommandobearbetning. Den innehåller de klasser som tillhandahåller gränssnittet mellan värdprogrammet och Windows PowerShell kommandon och providers. Den Windows PowerShell körningen implementeras som ett runspace-objekt för den aktuella Windows PowerShell-sessionen, vilket är den driftsmiljö där gränssnittet och kommandona körs. Driftinformation finns i Så här Windows PowerShell fungerar.

Windows PowerShell Språk

Det Windows PowerShell språket innehåller skriptfunktioner och mekanismer för att anropa kommandon. Fullständig skriptinformation finns i den språkreferens Windows PowerShell levererades med Windows PowerShell.

ETS (Extended Type System)

Windows PowerShell ger åtkomst till en mängd olika objekt, till exempel .NET- och XML-objekt. Därför använder gränssnittet sitt utökade typsystem (ETS) för att presentera en gemensam abstraktion för alla objekttyper. De flesta ETS-funktioner är transparenta för användaren, men skriptet eller .NET-utvecklaren använder det för följande ändamål:

  • Visa en delmängd av medlemmarna i specifika objekt. Windows PowerShell en "anpassad" vy över flera specifika objekttyper.

  • Lägga till medlemmar i befintliga objekt.

  • Åtkomst till serialiserade objekt.

  • Skriva anpassade objekt.

    Med ETS kan du skapa flexibla nya "typer" som är kompatibla med Windows PowerShell språk. Om du är .NET-utvecklare kan du arbeta med objekt som använder samma semantik som Windows PowerShell-språket gäller för skript, till exempel för att avgöra om ett objekt utvärderas till true .

    Mer information om ETS och hur Windows PowerShell använder objekt finns i Windows PowerShell för objektkoncept.

Programmering för Windows PowerShell

Windows PowerShell sin kod för kommandon, providers och andra programmoduler med hjälp av .NET Framework. Du är inte begränsad till att använda Microsoft Visual Studio för att skapa anpassade moduler för Windows PowerShell, även om exemplen i den här guiden är kända för att köras i det här verktyget. Du kan använda val annat .NET-språk som stöder klassarv och användning av attribut. I vissa fall Windows PowerShell API:er programmeringsspråket för att kunna komma åt allmänna typer.

Programmerarens referens

Referens när du utvecklar för Windows PowerShell finns i Windows PowerShell SDK.

Komma igång använda Windows PowerShell

Mer information om hur du börjar använda Windows PowerShell-gränssnittet finns i Komma igång med Windows PowerShell med Windows PowerShell. Ett snabbreferens om tri-fold-dokument tillhandahålls också som en introduktion för cmdlet-användning.

Innehållet i den här guiden

Avsnitt Definition
Skapa en Windows PowerShell-provider I det här avsnittet beskrivs hur du skapar en Windows PowerShell-provider för Windows PowerShell.
Skapa ett Windows PowerShell värdprogram I det här avsnittet beskrivs hur du skriver ett värdprogram som manipulerar ett runspace och hur du skriver ett värdprogram som implementerar en egen anpassad värd.
Skapa en Windows PowerShell-snapin-modul I det här avsnittet beskrivs hur du skapar en snapin-modulen som används för att registrera alla cmdlets och providers i en sammansättning och hur du skapar en anpassad snapin-modulen.
Skapa ett konsolgränssnitt I det här avsnittet beskrivs hur du skapar ett konsolgränssnitt som inte kan utökas.
Begrepp relaterade till Windows PowerShell Det här avsnittet innehåller konceptuell information som hjälper Windows PowerShell att förstå vad utvecklare kan göra.

Se även

Windows PowerShell SDK