Get-PSSessionConfiguration

Pobiera zarejestrowane konfiguracje sesji na komputerze.

Składnia

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

Opis

Polecenie Get-PSSessionConfiguration cmdlet pobiera konfiguracje sesji, które zostały zarejestrowane na komputerze lokalnym. Jest to zaawansowane polecenie cmdlet przeznaczone do użycia przez administratorów systemu w celu zarządzania niestandardowymi konfiguracjami sesji dla użytkowników.

Począwszy od programu PowerShell 3.0, można zdefiniować właściwości konfiguracji sesji przy użyciu pliku konfiguracji sesji (pssc). Ta funkcja umożliwia tworzenie niestandardowych i ograniczonych sesji bez konieczności pisania programu komputerowego. Aby uzyskać więcej informacji na temat plików konfiguracji sesji, zobacz about_Session_Configuration_Files.

Ponadto, począwszy od programu PowerShell 3.0, nowe właściwości notatek zostały dodane do obiektu konfiguracji sesji, który Get-PSSessionConfiguration zwraca. Te właściwości ułatwiają użytkownikom i autorom konfiguracji sesji analizowanie i porównywanie konfiguracji sesji.

Aby utworzyć i zarejestrować konfigurację sesji, użyj Register-PSSessionConfiguration polecenia cmdlet . Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.

Przykłady

Przykład 1 — pobieranie konfiguracji sesji na komputerze lokalnym

Get-PSSessionConfiguration

Przykład 2 — pobieranie dwóch domyślnych konfiguracji sesji

Polecenie używa parametru Name parametru , Get-PSSessionConfiguration aby uzyskać tylko konfiguracje sesji z nazwami rozpoczynającymi się od "Microsoft".

Get-PSSessionConfiguration -Name Microsoft*

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

Przykład 3 — pobieranie właściwości i wartości konfiguracji sesji

W tym przykładzie przedstawiono właściwości i wartości właściwości konfiguracji sesji utworzonej przy użyciu pliku konfiguracji sesji.

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                    :

W przykładzie Get-PSSessionConfiguration użyto polecenia cmdlet , aby uzyskać pełną konfigurację sesji. Operator potoku wysyła konfigurację pełnej sesji do Format-List polecenia cmdlet. Parametr Property z wartością * (wszystkie) kieruje Format-List do wyświetlania wszystkich właściwości i wartości obiektu na liście.

Dane wyjściowe zawierają przydatne informacje, w tym autor konfiguracji sesji, typ sesji, tryb języka i zasady wykonywania sesji, które są tworzone przy użyciu tej konfiguracji sesji, przydziałów sesji i pełnej ścieżki do pliku konfiguracji sesji.

Ten widok konfiguracji sesji jest używany w przypadku sesji, które zawierają plik konfiguracji sesji. Aby uzyskać więcej informacji na temat plików konfiguracji sesji, zobacz about_Session_Configuration_Files.

Przykład 4 — inny sposób na zapoznanie się z konfiguracjami sesji

W tym przykładzie Get-ChildItem użyto polecenia cmdlet (aliasu dir) na dysku dostawcy WSMan: w celu przyjrzenia się zawartości węzła wtyczki. Jest to inny sposób na przyjrzenie się konfiguracji sesji na komputerze.

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

Węzeł PlugIn zawiera obiekty ContainerElement (Microsoft.WSMan.Management.WSManConfigContainerElement), które reprezentują zarejestrowane konfiguracje sesji programu PowerShell wraz z innymi wtyczkami do zarządzania usługami WS..

Przykład 6 — wyświetlanie konfiguracji sesji na komputerze zdalnym

W tym przykładzie pokazano, jak używać dostawcy WSMan do wyświetlania konfiguracji sesji na komputerze zdalnym. Ta metoda nie udostępnia tak dużej ilości informacji, jak Get-PSSessionConfiguration polecenie, ale użytkownik nie musi być członkiem grupy Administratorzy, aby uruchomić to polecenie cmdlet.

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

Polecenie Connect-WSMan cmdlet łączy się z usługą WinRM na komputerze zdalnym Server01. Polecenie Get-ChildItem cmdlet (alias dir) dysku WSMan: pobiera elementy w ścieżce Server01\Plugin . Dane wyjściowe pokazują elementy w katalogu Plugin na komputerze Server01. Elementy obejmują konfiguracje sesji, które są typem wtyczki WSMan, wraz z innymi typami wtyczek na komputerze.

Przykład 7 — uzyskiwanie szczegółowych konfiguracji sesji z komputera zdalnego

W tym przykładzie pokazano, jak uruchomić Get-PSSessionConfiguration polecenie na komputerze zdalnym. Polecenie wymaga włączenia delegowania CredSSP w ustawieniach klienta na komputerze lokalnym i w ustawieniach usługi na komputerze zdalnym.

Aby uruchomić polecenia w tym przykładzie, musisz być członkiem grupy Administratorzy na komputerach lokalnych i zdalnych i musisz uruchomić program PowerShell z opcją Uruchom jako administrator .

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

Polecenie Enable-WSManCredSSP cmdlet włącza delegowanie CredSSP na serwerze Server01 na komputerze lokalnym. Polecenie Connect-WSMan cmdlet łączy się z komputerem Server02. Ta akcja powoduje dodanie węzła server02 do dysku WSMan: na komputerze lokalnym, co umożliwia wyświetlanie i zmienianie ustawień WS-Management na komputerze Server02. Polecenie Set-Item cmdlet zmienia wartość elementu CredSSP w węźle Usługi komputera Server02 na True. Spowoduje to skonfigurowanie ustawień usługi na komputerze zdalnym. Polecenie Invoke-Command cmdlet uruchamiaGet-PSSessionConfiguration polecenie na komputerze Server02. Polecenie używa parametru Credential i używa parametru Authentication z wartością CredSSP. Dane wyjściowe pokazują konfiguracje sesji na komputerze zdalnym Server02.

Przykład 8 — pobieranie identyfikatora URI zasobu konfiguracji sesji

Ten przykład jest przydatny do ustawiania wartości zmiennej $PSSessionConfigurationName preferencji, która przyjmuje identyfikator URI zasobu.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

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

Zmienna $PSSessionConfigurationName określa konfigurację domyślną używaną podczas tworzenia sesji. Ta zmienna jest ustawiana na komputerze lokalnym, ale określa konfigurację na komputerze zdalnym. Aby uzyskać więcej informacji na temat zmiennej $PSSessionConfiguration , zobacz about_Preference_Variables.

Parametry

-Force

Pomija monit o ponowne uruchomienie usługi WinRM, jeśli usługa nie jest jeszcze uruchomiona.

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

-Name

Pobiera tylko konfiguracje sesji z określoną nazwą lub wzorcem nazwy. Wprowadź co najmniej jedną nazwę konfiguracji sesji. Dozwolone są symbole wieloznaczne.

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

Dane wejściowe

None

Nie można przekazać potoku danych wejściowych do tego polecenia cmdlet.

Dane wyjściowe

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Uwagi

  • Aby uruchomić to polecenie cmdlet, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator .

  • Aby wyświetlić konfiguracje sesji na komputerze, musisz być członkiem grupy Administratorzy na komputerze.

  • Aby uruchomić Get-PSSessionConfiguration polecenie na komputerze zdalnym, uwierzytelnianie dostawcy usług zabezpieczeń poświadczeń (CredSSP) musi być włączone w ustawieniach klienta na komputerze lokalnym (przy użyciu Enable-WSManCredSSP polecenia cmdlet) i w ustawieniach usługi na komputerze zdalnym. Ponadto podczas ustanawiania sesji zdalnej należy użyć wartości CredSSP parametru uwierzytelniania . W przeciwnym razie odmowa dostępu.

  • Właściwości notatek obiektu, który Get-PSSessionConfiguration zwraca, są wyświetlane w obiekcie tylko wtedy, gdy mają wartość. Wszystkie zdefiniowane właściwości mają tylko konfiguracje sesji utworzone przy użyciu pliku konfiguracji sesji.

  • Właściwości obiektu konfiguracji sesji różnią się w zależności od opcji ustawionych dla konfiguracji sesji i wartości tych opcji. Ponadto konfiguracje sesji korzystające z pliku konfiguracji sesji mają dodatkowe właściwości.

  • Polecenia można użyć w programie WSMan: dysk, aby zmienić właściwości konfiguracji sesji. Nie można jednak użyć programu WSMan: dysku w programie PowerShell 2.0, aby zmienić właściwości konfiguracji sesji wprowadzone w programie PowerShell 3.0, takie jak OutputBufferingMode. Polecenia programu PowerShell 2.0 nie generują błędu, ale są nieskuteczne. Aby zmienić właściwości wprowadzone w programie PowerShell 3.0, użyj programu WSMan: dysku w programie PowerShell 3.0.