Nyheter

Windows PowerShell 2.0 innehåller följande nya funktioner för användning när du skriver cmdlets, leverantörer och värdprogram.

Moduler

Nu kan du paketera och distribuera Windows PowerShell med hjälp av moduler. Med moduler kan du partitionera, organisera och abstrahera Windows PowerShell kod i fristående, återanvändbara enheter. Mer information om moduler finns i Skriva en Windows PowerShell modul.

PowerShell-klassen

PowerShell-klassen ger en enklare lösning för att skapa program, så kallade värdprogram, som kör kommandon programmatiskt. Med den här klassen kan du skapa en pipeline med kommandon, ange det körningsutrymme som används för att köra kommandona och ange anrop av kommandona synkront eller asynkront.

RunspacePool-klassen

Med runspace-pooler kan du skapa flera runspaces med hjälp av ett enda anrop. Metoden CreateRunspacePool innehåller flera överlagringar som kan användas för att skapa runspaces som har samma funktioner, till exempel samma värd, inledande sessionstillstånd och anslutningsinformation.

Klassen InitialSessionState

Med klassen InitialSessionState kan du skapa en konfiguration för sessionstillstånd som används när ett körningsutrymme öppnas. Du kan skapa en anpassad konfiguration, en standardkonfiguration som innehåller kommandon som tillhandahålls av mshshort och en konfiguration vars kommandon är begränsade baserat på funktionerna i sessionen.

Fjärrkörningsutrymmen

Nu kan du skapa körningsutrymmen som kan öppnas på fjärrdatorer, så att du kan köra kommandon på fjärrdatorn och samla in resultaten lokalt. Om du vill skapa ett fjärrkörningsutrymme måste du ange information om fjärranslutningen när du skapar runspace. Exempel finns i CreateRunspace- och CreateRunspacePool-metoder. Anslutningsinformationen definieras av klassen RunspaceConnectionInfo.

Privata körningsutrymmeselement

Nu kan du skapa runspaces vars element är offentliga eller privata. På så sätt kan du skapa runspaces vars element är tillgängliga för körningsutrymmet, men som inte är tillgängliga för användaren. Se klassen ConstrainedSessionStateEntry för att ta reda på vilka element i runspace som kan göras privata.

Trådlägen och tillstånd för körningsutrymmen

Nu kan du ange hur trådar skapas och används när du kör kommandon i ett körningsutrymme. Se egenskaperna System.Management.Automation.Runspaces.Runspace.ThreadOptions och System.Management.Automation.Runspaces.RunspacePool.ThreadOptions.

Nu kan du hämta tillståndet för de trådar som används för att köra kommandon i ett körningsutrymme. Se egenskaperna System.Management.Automation.Runspaces.Runspace.State och System.Management.Automation.Runspaces.RunspacePool.State.

Transaktions-cmdlets

Nu kan du skapa cmdlets som kan användas i en transaktion. När en cmdlet används i en transaktion är dess åtgärder tillfälliga och de kan godkännas eller avvisas av de transaktions-cmdlets som tillhandahålls av Windows PowerShell.

Mer information om transaktioner finns i Så här stöder du transaktioner.

Transaktionsprovider

Nu kan du skapa leverantörer som kan användas i en transaktion. När en leverantör används i en transaktion är dess åtgärder tillfälliga, och de kan godkännas eller avvisas av de transaktions-cmdlets som tillhandahålls av Windows PowerShell.

Mer information om hur du anger stöd för transaktioner i en providerklass finns i egenskapen System.Management.Automation.Provider.CmdletProviderAttribute.ProviderCapabilities.

Jobb-cmdlets

Nu kan du skriva cmdlets som kan utföra åtgärden som ett jobb. De här jobben körs i bakgrunden utan att interagera med den aktuella sessionen. Mer information om hur Windows PowerShell stöder jobb finns i Bakgrundsjobb.

Cmdlet-utdatatyper

Du kan nu ange .NET Framework som returneras av cmdletarna genom att deklarera attributet OutputType när du skriver dina cmdlets. Detta gör att andra kan avgöra vilken typ av objekt som returneras av en cmdlet genom att titta på egenskapen OutputType för cmdleten .

Händelsesupport

Nu kan du skriva cmdlets som lägger till och använder händelser. Se PSEvent-klassen.

Proxykommandon

Nu kan du skriva proxykommandon som kan användas för att köra ett annat kommando. Med ett proxykommando kan du styra vilka funktioner i käll-cmdleten som är tillgängliga för användaren. Du kan till exempel skapa ett proxykommando som tar bort en parameter som tillhandahålls av källkommandot. Se klassen ProxyCommand.

Uppmaningar med flera alternativ

Nu kan du skriva program som kan ge uppmaningar som gör att användaren kan välja flera alternativ. Se gränssnittet IHostUISupportsMultipleChoiceSelection

Interaktiva sessioner

Nu kan du skriva program som kan starta och stoppa en interaktiv session på en fjärrdator. Se gränssnittet IHostSupportsInteractiveSession.

Anpassad cmdlet-hjälp för providers

Nu kan du skapa anpassade hjälpavsnitt för provider-cmdletarna. Anpassade cmdlet-hjälpavsnitt kan förklara hur cmdleten fungerar i providersökvägen och dokumentera specialfunktioner, inklusive de dynamiska parametrar som providern lägger till i cmdleten.