Get-PSSessionConfiguration

Hämtar de registrerade sessionskonfigurationerna på datorn.

Syntax

Get-PSSessionConfiguration
   [[-Name] <String[]>]
   [-Force]
   [<CommonParameters>]

Description

Cmdleten Get-PSSessionConfiguration hämtar sessionskonfigurationerna som har registrerats på den lokala datorn. Detta är en avancerad cmdlet som är utformad för att användas av systemadministratörer för att hantera anpassade sessionskonfigurationer för sina användare.

Från och med PowerShell 3.0 kan du definiera egenskaperna för en sessionskonfiguration med hjälp av en sessionskonfigurationsfil (.pssc). Med den här funktionen kan du skapa anpassade och begränsade sessioner utan att skriva ett datorprogram. Mer information om sessionskonfigurationsfiler finns i about_Session_Configuration_Files.

Från och med PowerShell 3.0 har nya anteckningsegenskaper lagts till i sessionskonfigurationsobjektet som Get-PSSessionConfiguration returneras. De här egenskaperna gör det enklare för användare och sessionskonfigurationsförfattare att undersöka och jämföra sessionskonfigurationer.

Om du vill skapa och registrera en sessionskonfiguration använder du cmdleten Register-PSSessionConfiguration . För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.

Exempel

Exempel 1 – Hämta sessionskonfigurationer på den lokala datorn

Get-PSSessionConfiguration

Exempel 2 – Hämta de två standardkonfigurationerna för sessioner

Kommandot använder parametern Get-PSSessionConfiguration Namn för för att endast hämta sessionskonfigurationerna med namn som börjar med "Microsoft".

Get-PSSessionConfiguration -Name Microsoft*

Name                      PSVersion  StartupScript        Permission
----                      ---------  -------------        ----------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll...
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll...

Exempel 3 – Hämta egenskaper och värden för en sessionskonfiguration

Det här exemplet visar egenskaperna och egenskapsvärdena för en sessionskonfiguration som skapades med hjälp av en sessionskonfigurationsfil.

Get-PSSessionConfiguration -Name Full  | Format-List -Property *

Copyright                     : (c) 2011 User01. All rights reserved.
AliasDefinitions              : {System.Collections.Hashtable}
SessionType                   : Default
CompanyName                   : Unknown
GUID                          : 1e9cb265-dae0-4bd3-89a9-8338a47698a1
Author                        : User01
ExecutionPolicy               : Restricted
SchemaVersion                 : 1.0.0.0
LanguageMode                  : FullLanguage
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : http://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 10
lang                          : en-US
SupportsOptions               : true
ExactMatch                    : true
configfilepath                : C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
MaxShells                     : 300
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 43200000
SDKVersion                    : 1
Name                          : Full
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 25
Enabled                       : True
MaxShellsPerUser              : 30
Permission                    :

I exemplet används cmdleten Get-PSSessionConfiguration för att hämta den fullständiga sessionskonfigurationen. En pipelineoperator skickar den fullständiga sessionskonfigurationen till cmdleten Format-List . Egenskapsparametern med värdet * (alla) dirigerar Format-List till att visa alla egenskaper och värden för objektet i en lista.

Utdata innehåller användbar information, inklusive författaren till sessionskonfigurationen, sessionstyp, språkläge och körningsprincip för sessioner som skapas med den här sessionskonfigurationen, sessionskvoter och den fullständiga sökvägen till sessionskonfigurationsfilen.

Den här vyn av en sessionskonfiguration används för sessioner som innehåller en sessionskonfigurationsfil. Mer information om sessionskonfigurationsfiler finns i about_Session_Configuration_Files.

Exempel 4 – Ett annat sätt att titta på sessionskonfigurationerna

I det här exemplet används cmdleten Get-ChildItem (alias dir) i WSMan:-providerenheten för att titta på innehållet i plugin-noden. Det här är ett annat sätt att titta på sessionskonfigurationerna på datorn.

dir wsman:\localhost\plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=WMI Provider}                 WMI Provider

PlugIn-noden innehåller ContainerElement-objekt (Microsoft.WSMan.Management.WSManConfigContainerElement) som representerar de registrerade PowerShell-sessionskonfigurationerna, tillsammans med andra plugin-program för WS-Management.

Exempel 6 – Visa sessionskonfigurationer på en fjärrdator

Det här exemplet visar hur du använder WSMan-providern för att visa sessionskonfigurationerna på en fjärrdator. Den här metoden tillhandahåller inte lika mycket information som ett Get-PSSessionConfiguration kommando, men användaren behöver inte vara medlem i gruppen Administratörer för att köra den här cmdleten.

Connect-WSMan -ComputerName Server01
dir WSMan:\Server01\Plugin

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Empty}                        Empty
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=NoLanguage}                   NoLanguage
Container       {Name=RestrictedLang}               RestrictedLang
Container       {Name=RRS}                          RRS
Container       {Name=SEL Plugin}                   SEL Plugin
Container       {Name=WithProfile}                  WithProfile
Container       {Name=WMI Provider}                 WMI Provider

Cmdleten Connect-WSMan ansluter till WinRM-tjänsten på Server01-fjärrdatorn. Cmdleten Get-ChildItem (alias dir) för WSMan:-enheten hämtar objekten i sökvägen Server01\Plugin . Utdata visar objekten i plugin-katalogen på Server01-datorn. Objekten inkluderar sessionskonfigurationerna, som är en typ av WSMan-plugin-program, tillsammans med andra typer av plugin-program på datorn.

Exempel 7 – Hämta detaljerade sessionskonfigurationer från en fjärrdator

Det här exemplet visar hur du kör ett Get-PSSessionConfiguration kommando på en fjärrdator. Kommandot kräver att CredSSP-delegering aktiveras i klientinställningarna på den lokala datorn och i tjänstinställningarna på fjärrdatorn.

Om du vill köra kommandona i det här exemplet måste du vara medlem i gruppen Administratörer på lokala datorer och fjärrdatorer och du måste starta PowerShell med alternativet Kör som administratör .

Enable-WSManCredSSP -Delegate Server02
Connect-WSMan Server02
Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01

Name                      PSVersion  StartupScript        Permission                          PSComputerName
----                      ---------  -------------        ----------                          --------------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
MyX86Shell                5.1        c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com

Cmdleten Enable-WSManCredSSP aktiverar CredSSP-delegering på Server01, den lokala datorn. Cmdleten Connect-WSMan ansluter till Server02-datorn. Den här åtgärden lägger till en nod för Server02 till WSMan:-enheten på den lokala datorn, så att du kan visa och ändra WS-hanteringsinställningarna på Server02-datorn. Cmdleten Set-Item ändrar värdet för CredSSP-objektet i tjänstnoden på Server02-datorn till True. Detta konfigurerar tjänstinställningarna på fjärrdatorn. Cmdleten Invoke-CommandGet-PSSessionConfiguration kör kommandot på Server02-datorn. Kommandot använder parametern Credential och använder parametern Autentisering med värdet CredSSP. Utdata visar sessionskonfigurationerna på server02-fjärrdatorn.

Exempel 8 – Hämta resurs-URI för en sessionskonfiguration

Det här exemplet är användbart för att ange värdet för inställningsvariabeln $PSSessionConfigurationName , som tar en resurs-URI.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

http://schemas.microsoft.com/powershell/microsoft.CustomShell

Variabeln $PSSessionConfigurationName anger den standardkonfiguration som används när du skapar en session. Den här variabeln anges på den lokala datorn, men den anger en konfiguration på fjärrdatorn. Mer information om variabeln finns i $PSSessionConfiguration about_Preference_Variables.

Parametrar

-Force

Undertrycker uppmaningen att starta om WinRM-tjänsten om tjänsten inte redan körs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Hämtar endast sessionskonfigurationerna med det angivna namn- eller namnmönstret. Ange ett eller flera sessionskonfigurationsnamn. Jokertecken tillåts.

Type:String[]
Position:0
Default value:All session configurations on the local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Kommentarer

  • Om du vill köra den här cmdleten startar du PowerShell med alternativet Kör som administratör .

  • Om du vill visa sessionskonfigurationerna på datorn måste du vara medlem i gruppen Administratörer på datorn.

  • Om du vill köra ett Get-PSSessionConfiguration kommando på en fjärrdator måste CredSSP-autentisering (CredSSP) aktiveras i klientinställningarna på den lokala datorn (med hjälp av cmdleten Enable-WSManCredSSP ) och i tjänstinställningarna på fjärrdatorn. Du måste också använda CredSSP-värdet för autentiseringsparametern när du upprättar fjärrsessionen. Annars nekas åtkomst.

  • Anteckningsegenskaperna för objektet som Get-PSSessionConfiguration returneras visas endast på objektet när de har ett värde. Endast sessionskonfigurationer som har skapats med hjälp av en sessionskonfigurationsfil har alla definierade egenskaper.

  • Egenskaperna för ett sessionskonfigurationsobjekt varierar med de alternativ som angetts för sessionskonfigurationen och värdena för dessa alternativ. Sessionskonfigurationer som använder en sessionskonfigurationsfil har dessutom ytterligare egenskaper.

  • Du kan använda kommandon i WSMan:-enheten för att ändra egenskaperna för sessionskonfigurationer. Du kan dock inte använda WSMan: -enheten i PowerShell 2.0 för att ändra sessionskonfigurationsegenskaper som introduceras i PowerShell 3.0, till exempel OutputBufferingMode. PowerShell 2.0-kommandon genererar inget fel, men de är ineffektiva. Om du vill ändra egenskaper som introducerades i PowerShell 3.0 använder du WSMan:-enheten i PowerShell 3.0.