Delen via


Get-PSSessionConfiguration

Hiermee haalt u de geregistreerde sessieconfiguraties op de computer op.

Syntaxis

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

Description

De Get-PSSessionConfiguration cmdlet haalt de sessieconfiguraties op die zijn geregistreerd op de lokale computer. Dit is een geavanceerde cmdlet die is ontworpen om te worden gebruikt door systeembeheerders voor het beheren van aangepaste sessieconfiguraties voor hun gebruikers.

Vanaf PowerShell 3.0 kunt u de eigenschappen van een sessieconfiguratie definiëren met behulp van een sessieconfiguratiebestand (.pssc). Met deze functie kunt u aangepaste en beperkte sessies maken zonder een computerprogramma te schrijven. Zie about_Session_Configuration_Filesvoor meer informatie over sessieconfiguratiebestanden.

Vanaf PowerShell 3.0 zijn er ook nieuwe notitieeigenschappen toegevoegd aan het sessieconfiguratieobject dat Get-PSSessionConfiguration retourneert. Deze eigenschappen maken het eenvoudiger voor gebruikers en auteurs van sessieconfiguraties om sessieconfiguraties te onderzoeken en te vergelijken.

Gebruik de cmdlet Register-PSSessionConfiguration om een sessieconfiguratie te maken en te registreren. Zie about_Session_Configurationsvoor meer informatie over sessieconfiguraties.

Voorbeelden

Voorbeeld 1: sessieconfiguraties ophalen op de lokale computer

Get-PSSessionConfiguration

Voorbeeld 2: de twee standaardsessieconfiguraties ophalen

De opdracht maakt gebruik van de parameter naam van om alleen de sessieconfiguraties op te halen met namen die beginnen met 'Microsoft'.

Get-PSSessionConfiguration -Name Microsoft*

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

Voorbeeld 3: de eigenschappen en waarden van een sessieconfiguratie ophalen

In dit voorbeeld ziet u de eigenschappen en eigenschapswaarden van een sessieconfiguratie die is gemaakt met behulp van een sessieconfiguratiebestand.

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                    :

In het voorbeeld wordt de Get-PSSessionConfiguration-cmdlet gebruikt om de volledige sessieconfiguratie op te halen. Een pijplijnoperator verzendt de configuratie van de volledige sessie naar de Format-List-cmdlet. De eigenschap parameter met een waarde van * (alle) leidt Format-List om alle eigenschappen en waarden van het object in een lijst weer te geven.

De uitvoer bevat nuttige informatie, waaronder de auteur van de sessieconfiguratie, het sessietype, de taalmodus en het uitvoeringsbeleid van sessies die zijn gemaakt met deze sessieconfiguratie, sessiequota en het volledige pad naar het sessieconfiguratiebestand.

Deze weergave van een sessieconfiguratie wordt gebruikt voor sessies die een sessieconfiguratiebestand bevatten. Zie about_Session_Configuration_Filesvoor meer informatie over sessieconfiguratiebestanden.

Voorbeeld 4: een andere manier om de sessieconfiguraties te bekijken

In dit voorbeeld wordt de cmdlet Get-ChildItem (alias dir) gebruikt in het WSMan: providerstation om de inhoud van het knooppunt Invoegtoepassing te bekijken. Dit is een andere manier om de sessieconfiguraties op de computer te bekijken.

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

Het knooppunt PlugIn bevat ContainerElement-objecten (Microsoft.WSMan.Management.WSManConfigContainerElement) die de geregistreerde PowerShell-sessieconfiguraties vertegenwoordigen, samen met andere invoegtoepassingen voor WS-Management.

Voorbeeld 6: sessieconfiguraties weergeven op een externe computer

In dit voorbeeld ziet u hoe u de WSMan-provider gebruikt om de sessieconfiguraties op een externe computer weer te geven. Deze methode biedt niet zoveel informatie als een Get-PSSessionConfiguration opdracht, maar de gebruiker hoeft geen lid te zijn van de groep Administrators om deze cmdlet uit te voeren.

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

De Connect-WSMan cmdlet maakt verbinding met de WinRM-service op de externe Server01-computer. De Get-ChildItem cmdlet (alias dir) van de WSMan: station haalt de items op in het Server01\Plugin pad. De uitvoer toont de items in de map Plugin op de Server01-computer. De items omvatten de sessieconfiguraties, die een type WSMan-invoegtoepassing zijn, samen met andere typen invoegtoepassingen op de computer.

Voorbeeld 7: gedetailleerde sessieconfiguraties ophalen van een externe computer

In dit voorbeeld ziet u hoe u een Get-PSSessionConfiguration opdracht uitvoert op een externe computer. De opdracht vereist dat CredSSP-delegatie is ingeschakeld in de clientinstellingen op de lokale computer en in de service-instellingen op de externe computer.

Als u de opdrachten in dit voorbeeld wilt uitvoeren, moet u lid zijn van de groep Administrators op de lokale en externe computers en moet u PowerShell starten met de optie Als administrator uitvoeren als 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

Met de cmdlet Enable-WSManCredSSP kunt u CredSSP delegering op Server01, de lokale computer. De Connect-WSMan cmdlet maakt verbinding met server02-computer. Met deze actie wordt een knooppunt voor Server02 toegevoegd aan de WSMan: station op de lokale computer, zodat u de WS-Management-instellingen op de Server02-computer kunt bekijken en wijzigen. De Set-Item-cmdlet wijzigt de waarde van het item CredSSP in het serviceknooppunt van de Server02-computer in True. Hiermee configureert u de service-instellingen op de externe computer. De cmdlet Invoke-Command voert de opdrachtGet-PSSessionConfiguration uit op de Server02-computer. De opdracht maakt gebruik van de parameter Credential en gebruikt de parameter Authentication met een waarde van CredSSP-. De uitvoer toont de sessieconfiguraties op de externe Server02-computer.

Voorbeeld 8: de resource-URI van een sessieconfiguratie ophalen

Dit voorbeeld is handig voor het instellen van de waarde van de $PSSessionConfigurationName voorkeursvariabele, die een resource-URI gebruikt.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

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

De $PSSessionConfigurationName-variabele geeft de standaardconfiguratie op die wordt gebruikt bij het maken van een sessie. Deze variabele is ingesteld op de lokale computer, maar hiermee wordt een configuratie op de externe computer opgegeven. Zie about_Preference_Variablesvoor meer informatie over de variabele $PSSessionConfiguration.

Parameters

-Force

Onderdrukt de prompt om de WinRM-service opnieuw te starten als de service nog niet wordt uitgevoerd.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Name

Hiermee worden alleen de sessieconfiguraties met het opgegeven naam- of naampatroon ophaalt. Voer een of meer sessieconfiguratienamen in. Jokertekens zijn toegestaan.

Type:String[]
Position:0
Default value:All session configurations on the local computer
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Notities

  • Als u deze cmdlet wilt uitvoeren, start u PowerShell met de optie Als administrator uitvoeren.

  • Als u de sessieconfiguraties op de computer wilt weergeven, moet u lid zijn van de groep Administrators op de computer.

  • Als u een Get-PSSessionConfiguration opdracht wilt uitvoeren op een externe computer, moet credSSP-verificatie (Credential Security Service Provider) zijn ingeschakeld in de clientinstellingen op de lokale computer (met behulp van de cmdlet Enable-WSManCredSSP) en in de service-instellingen op de externe computer. U moet ook de CredSSP--waarde van de parameter Authentication gebruiken bij het maken van de externe sessie. Anders wordt de toegang geweigerd.

  • De opmerkingseigenschappen van het object dat Get-PSSessionConfiguration retourneert, worden alleen weergegeven op het object wanneer ze een waarde hebben. Alleen sessieconfiguraties die zijn gemaakt met behulp van een sessieconfiguratiebestand, hebben alle gedefinieerde eigenschappen.

  • De eigenschappen van een sessieconfiguratieobject variëren met de opties die zijn ingesteld voor de sessieconfiguratie en de waarden van deze opties. Daarnaast hebben sessieconfiguraties die gebruikmaken van een sessieconfiguratiebestand aanvullende eigenschappen.

  • U kunt opdrachten in de WSMan: station gebruiken om de eigenschappen van sessieconfiguraties te wijzigen. U kunt het WSMan-station echter niet gebruiken in PowerShell 2.0 om de eigenschappen van de sessieconfiguratie te wijzigen die zijn geïntroduceerd in PowerShell 3.0, zoals OutputBufferingMode. PowerShell 2.0-opdrachten genereren geen fout, maar ze zijn ineffectief. Als u eigenschappen wilt wijzigen die zijn geïntroduceerd in PowerShell 3.0, gebruikt u het WSMan:-station in PowerShell 3.0.