Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: Windows PowerShell 2.0, Windows PowerShell 3.0
I följande avsnitt beskrivs hur du installerar PowerShell SDK i olika versioner av Windows.
Installera Windows PowerShell 3.0 SDK för Windows 8 och Windows Server 2012
Windows PowerShell 3.0 installeras automatiskt med Windows 8 och Windows Server 2012. Dessutom kan du ladda ned och installera referenssammansättningarna för Windows PowerShell 3.0 som en del av Windows 8 SDK. Med de här sammansättningarna kan du skriva cmdletar, leverantörer och värdprogram för Windows PowerShell 3.0. När du installerar Windows SDK för Windows 8 installeras Windows PowerShell-sammansättningarna automatiskt i referenssammansättningsmappen i \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0
. Mer information finns på nedladdningswebbplatsen för Windows 8 SDK. Windows PowerShell-kodexempel finns också i powershell-sdk-samples lagringsplats.
Referenssammansättningar
Referenssammansättningar installeras som standard på följande plats: C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0
.
Anmärkning
Kod som kompileras mot Windows PowerShell 2.0-sammansättningar kan inte läsas in i Windows PowerShell 1.0-installationer. Kod som kompileras mot Windows PowerShell 1.0-sammansättningar kan dock läsas in i Windows PowerShell 2.0-installationer.
Exempel
Kodexempel installeras som standard på följande plats: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\
. Följande avsnitt innehåller en kort beskrivning av vad varje exempel gör.
Cmdlet-exempel
- GetProcessSample01 – Visar hur du skriver en enkel cmdlet som hämtar alla processer på den lokala datorn.
- GetProcessSample02 – Visar hur du lägger till parametrar i cmdleten. Cmdleten tar ett eller flera processnamn och returnerar matchande processer.
- GetProcessSample03 – Visar hur du lägger till parametrar som accepterar indata från pipelinen.
- GetProcessSample04 – Visar hur du hanterar fel som inte avslutas.
- GetProcessSample05 – Visar hur du visar en lista över angivna processer.
- SelectObject – Visar hur du skriver ett filter för att bara markera vissa objekt.
- SelectString – Visar hur du söker efter angivna mönster i filer.
- StopProcessSample01 – Visar hur du implementerar en PassThru-parameter och hur du begär användarfeedback genom anrop till metoderna ShouldProcess och ShouldContinue. Användare anger parametern PassThru när de vill tvinga cmdleten att returnera ett objekt.
- StopProcessSample02 – Visar hur du stoppar en specifik process.
- StopProcessSample03 – Visar hur du deklarerar alias för parametrar och hur du stöder jokertecken.
- StopProcessSample04 – Visar hur du deklarerar parameteruppsättningar, det objekt som cmdleten tar som indata och hur du anger den standardparameter som ska användas.
Fjärrkommunikationsexempel
- RemoteRunspace01 – Visar hur du skapar en fjärrkörning som används för att upprätta en fjärranslutning.
- RemoteRunspacePool01 – Visar hur du konstruerar en fjärrkörningspool och hur du kör flera kommandon samtidigt med hjälp av den här poolen.
- Serialisering01 – Visar hur du tittar på en befintlig .NET-klass och ser till att information från valda offentliga egenskaper för den här klassen bevaras över serialisering/deserialisering.
- Serialisering02 – Visar hur du tittar på en befintlig .NET-klass och ser till att information från instansen av den här klassen bevaras över serialisering/deserialisering när informationen inte är tillgänglig i klassens offentliga egenskaper.
- Serialisering03 – Visar hur du tittar på en befintlig .NET-klass och ser till att instanser av den här klassen och härledda klasser deserialiseras (extraheras) till levande .NET-objekt.
Händelseexempel
- Event01 – Visar hur du skapar en cmdlet för händelseregistrering genom att härleda från ObjectEventRegistrationBase.
- Event02 – Visar hur du visar hur du tar emot meddelanden om Windows PowerShell-händelser som genereras på fjärrdatorer. Den använder PSEventReceived-händelsen som exponeras via klassen Runspace.
Värdprogramexempel
- Runspace01 – Visar hur du använder PowerShell-klassen för att köra
Get-Process
cmdlet synkront. CmdletenGet-Process
returnerar Processobjekt för varje process som körs på den lokala datorn. - Runspace02 – Visar hur du använder PowerShell-klassen för att köra cmdletarna
Get-Process
ochSort-Object
synkront. CmdletenGet-Process
returnerar Processobjekt för varje process som körs på den lokala datorn ochSort-Object
sorterar objekten baserat på deras ID-egenskap. Resultatet av dessa kommandon visas med hjälp av en DataGridView-kontroll. - Runspace03 – Visar hur du använder PowerShell-klassen för att köra ett skript synkront och hur du hanterar fel som inte avslutas. Skriptet tar emot en lista över processnamn och hämtar sedan dessa processer. Resultatet av skriptet, inklusive eventuella icke-avslutande fel som genererades när skriptet kördes, visas i ett konsolfönster.
- Runspace04 – Visar hur du använder PowerShell-klassen för att köra kommandon och hur du fångar upp avslutande fel som utlöses när kommandona körs. Två kommandon körs och det sista kommandot skickas ett parameterargument som inte är giltigt. Därför returneras inga objekt och ett avslutande fel utlöses.
- Runspace05 – Visar hur du lägger till en snapin-modul i ett InitialSessionState-objekt så att cmdleten för snapin-modulen är tillgänglig när runspace öppnas. Snapin-modulen innehåller en Get-Proc cmdlet (definierad av GetProcessSample01-exemplet) som körs synkront med hjälp av ett PowerShell-objekt.
- Runspace06 – Visar hur du lägger till en modul i ett InitialSessionState-objekt så att modulen läses in när runspace öppnas. Modulen innehåller en Get-Proc cmdlet (definieras av GetProcessSample02-exemplet) som körs synkront med hjälp av ett PowerShell-objekt.
- Runspace07 – Visar hur du skapar en runspace och sedan använder det runspace för att köra två cmdletar synkront med hjälp av ett PowerShell-objekt.
- Runspace08 – Visar hur du lägger till kommandon och argument i pipelinen för ett PowerShell-objekt och hur du kör kommandona synkront.
- Runspace09 – Visar hur du lägger till ett skript i pipelinen för ett PowerShell-objekt och hur du kör skriptet asynkront. Händelser används för att hantera utdata från skriptet.
- Runspace10 – Visar hur du skapar ett standardtillstånd för den inledande sessionen, hur du lägger till en cmdlet i InitialSessionState, hur du skapar en runspace som använder det inledande sessionstillståndet och hur du kör kommandot med hjälp av ett PowerShell-objekt.
- Runspace11 – Visar hur du använder klassen ProxyCommand för att skapa ett proxykommando som anropar en befintlig cmdlet, men begränsar uppsättningen med tillgängliga parametrar. Proxykommandot läggs sedan till i ett inledande sessionstillstånd som används för att skapa ett begränsat körningsutrymme. Det innebär att användaren endast kan komma åt funktionerna i cmdleten via proxykommandot.
- PowerShell01 – Visar hur du skapar en begränsad runspace med hjälp av ett InitialSessionState-objekt.
- PowerShell02 – Visar hur du använder en runspace-pool för att köra flera kommandon samtidigt.
Värdexempel
- Host01 – Visar hur du implementerar ett värdprogram som använder en anpassad värd. I det här exemplet skapas en runspace som använder den anpassade värden och sedan används PowerShell-API:et för att köra ett skript som anropar
exit
. Värdprogrammet tittar sedan på utdata från skriptet och skriver ut resultatet. - Host02 – Visar hur du skriver ett värdprogram som använder Windows PowerShell-körningen tillsammans med en anpassad värdimplementering. Värdprogrammet anger värdkulturen till tyska, kör cmdleten
Get-Process
och visar resultatet som du skulle se med hjälp av pwrsh.exeoch skriver sedan ut aktuella data och tid på tyska. - Host03 – Visar hur du skapar ett interaktivt konsolbaserat värdprogram som läser kommandon från kommandoraden, kör kommandona och sedan visar resultatet för konsolen.
- Host04 – Visar hur du skapar ett interaktivt konsolbaserat värdprogram som läser kommandon från kommandoraden, kör kommandona och sedan visar resultatet för konsolen. Det här värdprogrammet har också stöd för att visa uppmaningar som gör att användaren kan ange flera alternativ.
- Host05 – Visar hur du skapar ett interaktivt konsolbaserat värdprogram som läser kommandon från kommandoraden, kör kommandona och sedan visar resultatet för konsolen. Det här värdprogrammet stöder även anrop till fjärrdatorer med hjälp av cmdletarna
Enter-PSSession
ochExit-PSSession
. - Host06 – Visar hur du skapar ett interaktivt konsolbaserat värdprogram som läser kommandon från kommandoraden, kör kommandona och sedan visar resultatet för konsolen. Dessutom använder det här exemplet Tokenizer-API:erna för att ange färgen på texten som anges av användaren.
Providerexempel
AccessDBProviderSample01 – Visar hur du deklarerar en providerklass som härleds direkt från klassen CmdletProvider. Den ingår endast här för fullständighet.
AccessDBProviderSample02 – Visar hur du skriver över metoderna NewDrive och RemoveDrive för att stödja anrop till cmdletarna
New-PSDrive
ochRemove-PSDrive
. Providerklassen i det här exemplet härleds från klassen DriveCmdletProvider.AccessDBProviderSample03 – Visar hur du skriver över metoderna GetItem och SetItem för att stödja anrop till cmdletarna
Get-Item
ochSet-Item
. Providerklassen i det här exemplet härleds från klassen ItemCmdletProvider.AccessDBProviderSample04 – Visar hur du skriver över containermetoder för att stödja anrop till cmdletarna
Copy-Item
,Get-ChildItem
,New-Item
ochRemove-Item
. Dessa metoder bör implementeras när datalagret innehåller objekt som är containrar. En container är en grupp underordnade objekt under ett gemensamt överordnat objekt. Providerklassen i det här exemplet härleds från klassen ItemCmdletProvider.AccessDBProviderSample05 – Visar hur du skriver över containermetoder för att stödja anrop till cmdletarna
Move-Item
ochJoin-Path
. Dessa metoder bör implementeras när användaren behöver flytta objekt i en container och om datalagret innehåller kapslade containrar. Providerklassen i det här exemplet härleds från klassen NavigationCmdletProvider.AccessDBProviderSample06 – Visar hur du skriver över innehållsmetoder för att stödja anrop till cmdletarna
Clear-Content
,Get-Content
ochSet-Content
. Dessa metoder bör implementeras när användaren behöver hantera innehållet i objekten i datalagret. Providerklassen i det här exemplet härleds från klassen NavigationCmdletProvider och implementerar gränssnittet IContentCmdletProvider.