about_Session_Configurations
Kort beskrivning
Beskriver sessionskonfigurationer som avgör vilka användare som kan ansluta till datorn via fjärranslutning och vilka kommandon de kan köra.
Lång beskrivning
En sessionskonfiguration, även kallad "slutpunkt", är en grupp med inställningar på den lokala datorn som definierar miljön för De PowerShell-sessioner som skapas när fjärranslutna eller lokala användare ansluter till PowerShell på den lokala datorn.
Administratörer på datorn kan använda sessionskonfigurationer för att skydda datorn och definiera anpassade miljöer för användare som ansluter till datorn.
Administratörer kan också använda sessionskonfigurationer för att fastställa vilka behörigheter som krävs för att ansluta till datorn via fjärranslutning. Som standard har endast medlemmar i gruppen Administratörer behörighet att använda sessionskonfigurationen för fjärranslutning, men du kan ändra standardinställningarna så att alla användare eller valda användare kan ansluta via fjärranslutning till datorn.
Från och med PowerShell 3.0 kan du använda en sessionskonfigurationsfil för att definiera elementen i en sessionskonfiguration. Den här funktionen gör det enkelt att anpassa sessioner utan att skriva kod och identifiera egenskaperna för en sessionskonfiguration. Om du vill skapa en sessionskonfigurationsfil använder du cmdleten New-PSSessionConfiguration. Mer information om sessionskonfigurationsfiler finns i about_Session_Configuration_Files.
Sessionskonfigurationer är en funktion i WSMAN-baserad PowerShell-fjärrkommunikation. De används bara när du använder cmdletarna , Invoke-Command
eller Enter-PSSession
för att ansluta till en fjärransluten New-PSSession
Windows-dator.
Om du vill hantera sessionskonfigurationerna på en Windows-dator startar du PowerShell med alternativet Kör som administratör .
Om sessionskonfigurationer
Varje PowerShell-session använder en sessionskonfiguration. Detta omfattar beständiga sessioner som du skapar med hjälp av cmdletarna New-PSSession eller Enter-PSSession och de tillfälliga sessioner som PowerShell skapar när du använder parametern ComputerName för en cmdlet som använder WS-Management-baserad fjärrkommunikationsteknik, till exempel Invoke-Command.
Administratörer kan använda sessionskonfigurationer för att skydda datorns resurser och för att skapa anpassade miljöer för användare som ansluter till datorn. Du kan till exempel använda en sessionskonfiguration för att begränsa storleken på objekt som datorn tar emot i sessionen, för att definiera sessionens språkläge och för att ange de cmdletar, leverantörer och funktioner som är tillgängliga i sessionen.
Genom att konfigurera säkerhetsbeskrivningen för en sessionskonfiguration bestämmer du vem som kan använda sessionskonfigurationen för att ansluta till datorn. Användarna måste ha behörighet att köra en sessionskonfiguration för att kunna använda den i en session. Om en användare inte har de behörigheter som krävs för att använda någon av sessionskonfigurationerna på en dator kan användaren inte ansluta till datorn via fjärranslutning.
Som standard har endast administratörer på datorn behörighet att använda standardkonfigurationerna för sessioner. Men du kan ändra säkerhetsbeskrivningarna så att alla, ingen eller bara valda användare kan använda sessionskonfigurationerna på datorn.
Inbyggda sessionskonfigurationer
PowerShell 3.0 innehåller inbyggda sessionskonfigurationer med namnet Microsoft.PowerShell och Microsoft.PowerShell.Workflow. På datorer som kör 64-bitarsversioner av Windows tillhandahåller PowerShell även Microsoft.PowerShell32, en 32-bitars sessionskonfiguration.
Microsoft.PowerShell-sessionskonfigurationen används som standard för sessioner, dvs. när ett kommando för att skapa en session inte innehåller parametern ConfigurationName för cmdleten New-PSSession, Enter-PSSession eller Invoke-Command.
Säkerhetsbeskrivningarna för standardsessionskonfigurationerna tillåter endast medlemmar i gruppen Administratörer på den lokala datorn att använda dem. Därför kan endast medlemmar i gruppen Administratörer ansluta till datorn via fjärranslutning om du inte ändrar standardinställningarna.
Du kan ändra standardkonfigurationerna för sessioner med hjälp av $PSSessionConfigurationName inställningsvariabeln. Mer information finns i about_Preference_Variables.
Visa sessionskonfigurationer på den lokala datorn
Om du vill hämta sessionskonfigurationerna på den lokala datorn använder du cmdleten Get-PSSessionConfiguration.
Skriv till exempel:
PS C:> Get-PSSessionConfiguration | Format-List -Property Name, Permission
Name : microsoft.powershell
Permission : BUILTIN\Administrators AccessAllowed
Name : microsoft.powershell.workflow
Permission : BUILTIN\Administrators AccessAllowed
Name : microsoft.powershell32
Permission : BUILTIN\Administrators AccessAllowed
Sessionskonfigurationsobjektet expanderas i PowerShell 3.0 för att visa egenskaperna för sessionskonfigurationen som konfigureras med hjälp av en sessionskonfigurationsfil.
Om du till exempel vill se alla egenskaper för ett sessionskonfigurationsobjekt skriver du:
PS C:> Get-PSSessionConfiguration | Format-List -Property *
Du kan också använda WSMan-providern i PowerShell för att visa sessionskonfigurationer. WSMan-providern skapar en WSMAN:-enhet i sessionen.
I WSMAN:-enheten finns sessionskonfigurationer i noden Plugin. (Alla sessionskonfigurationer finns i noden Plugin, men det finns objekt i plugin-noden som inte är sessionskonfigurationer.)
Om du till exempel vill visa sessionskonfigurationerna på den lokala datorn skriver du:
PS C:> dir wsman:\localhost\plugin\microsoft*
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
Type Keys Name
---- ---- ----
Container {Name=microsoft.powershell} microsoft.powershell
Container {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container {Name=microsoft.powershell32} microsoft.powershell32
Visa sessionskonfigurationer på en fjärrdator
Om du vill visa sessionskonfigurationerna på en fjärrdator använder du cmdleten Connect-WSMan för att lägga till en anteckning för fjärrdatorn till WSMAN:-enheten på den lokala datorn och använder sedan WSMAN:-enheten för att visa sessionskonfigurationerna.
Följande kommando lägger till exempel till en nod för Server01-fjärrdatorn till WSMAN:-enheten på den lokala datorn.
PS C:> Connect-WSMan server01.corp.fabrikam.com
När kommandot är klart kan du navigera till noden för Server01-datorn för att visa sessionskonfigurationerna.
Till exempel:
PS C:> cd wsman:
PS WSMan:> dir
ComputerName Type
------------ ----
localhost Container
server01.corp.fabrikam.com Container
PS WSMan:> dir server01\plugin\
WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Pl
ugin
Type Keys Name
---- ---- ----
Container {Name=microsoft.powershell} microsoft.powershell
Container {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container {Name=microsoft.powershell32} microsoft.powershell32
Ändra säkerhetsbeskrivningen för en sessionskonfiguration
I Windows Server 2012 och senare versioner av Windows Server är de inbyggda sessionskonfigurationerna aktiverade för fjärranvändare som standard. I andra versioner av Windows som stöds måste du ändra säkerhetsbeskrivningarna för sessionskonfigurationerna så att fjärråtkomst tillåts.
Om du vill aktivera fjärråtkomst till sessionskonfigurationerna på datorn använder du cmdleten Enable-PSRemoting. Den här cmdleten skapar två sessionskonfigurationer:
- med namnet definierat som: "PowerShell." + "aktuell PowerShell-version"
- med namnet "PowerShell.6", som inte är kopplat till någon specifik PowerShell-version.
Som standard har endast medlemmar i gruppen Administratörer på datorn behörighet att köra standardsessionskonfigurationerna, men du kan ändra säkerhetsbeskrivningarna för standardsessionskonfigurationerna och alla sessionskonfigurationer som du skapar.
Om du vill ge andra användare behörighet att fjärransluta till datorn använder du cmdleten Set-PSSessionConfiguration för att lägga till "Kör"-behörigheter för dessa användare i säkerhetsbeskrivningarna för sessionskonfigurationerna Microsoft.PowerShell och Microsoft.PowerShell32.
Följande kommando öppnar till exempel en egenskapssida där du kan ändra säkerhetsbeskrivningen för standardsessionskonfigurationen för Microsoft.PowerShell.
Set-PSSessionConfiguration -name Microsoft.PowerShell `
-ShowSecurityDescriptorUI
Om du vill neka alla behörighet till alla sessionskonfigurationer på datorn använder du cmdleten Disable-PSSessionConfiguration. Följande kommando inaktiverar till exempel standardkonfigurationerna för sessioner på datorn.
PS C:> Disable-PSSessionConfiguration -Name Microsoft.PowerShell
Om du vill förhindra att fjärranslutna användare ansluter till datorn, men tillåter att lokala användare ansluter, använder du cmdleten Disable-PSRemoting. Disable-PSRemoting lägger till en "Network_Deny_All"-post till alla sessionskonfigurationer på datorn.
PS C:> Disable-PSRemoting
Om du vill tillåta fjärranvändare att använda alla sessionskonfigurationer på datorn använder du cmdleten Enable-PSRemoting eller Enable-PSSessionConfiguration. Följande kommando aktiverar till exempel fjärråtkomst till de inbyggda sessionskonfigurationerna.
PS C:> Enable-PSSessionConfiguration -name Microsoft.Power*
Om du vill göra andra ändringar i säkerhetsbeskrivningen för en sessionskonfiguration använder du cmdleten Set-PSSessionConfiguration. Använd parametern SecurityDescriptorSDDL för att skicka ett SDDL-strängvärde. Använd parametern ShowSecurityDescriptorUI för att visa ett egenskapsblad för användargränssnittet som hjälper dig att skapa en ny SDDL.
Till exempel:
Set-PSSessionConfiguration -Name Microsoft.PowerShell `
-ShowSecurityDescriptorUI
Skapa en ny sessionskonfiguration
Om du vill skapa en ny sessionskonfiguration på den lokala datorn använder du cmdleten Register-PSSessionConfiguration. Om du vill definiera den nya sessionskonfigurationen kan du använda en C#-sammansättning, ett PowerShell-skript och parametrarna för cmdleten Register-PSSessionConfiguration.
Följande kommando skapar till exempel en sessionskonfiguration som är identisk med Microsoft.PowerShell-sessionskonfigurationen, förutom att den begränsar de data som tas emot från ett fjärrkommando till 20 MEGABYTE (MB). (Standardvärdet är 50 MB).
Register-PSSessionConfiguration -Name NewConfig `
-MaximumReceivedDataSizePerCommandMB 20
När du skapar en sessionskonfiguration kan du hantera den med hjälp av de andra cmdletarna för sessionskonfiguration och den visas på WSMAN:-enheten.
Mer information finns i Register-PSSessionConfiguration.
Ta bort en sessionskonfiguration
Om du vill ta bort en sessionskonfiguration från den lokala datorn använder du cmdleten Unregister-PSSessionConfiguration. Följande kommando tar till exempel bort konfigurationen av NewConfig-sessionen från datorn.
PS C:> Unregister-PSSessionConfiguration -Name NewConfig
Mer information finns i Avregistrera PSSessionConfiguration.
Återställa en sessionskonfiguration
Om du vill återställa en standardkonfiguration för sessioner som tagits bort (avregistrerats) av misstag använder du cmdleten Enable-PSRemoting.
Cmdleten Enable-PSRemoting återskapar alla standardsessionskonfigurationer som inte finns på datorn. Den skriver inte över eller ändrar inte egenskapsvärdena för befintliga sessionskonfigurationer.
Om du vill återställa de ursprungliga egenskapsvärdena för en standardkonfiguration använder du avregistrera-PSSessionConfiguration för att ta bort sessionskonfigurationen och använder sedan cmdleten Enable-PSRemoting för att återskapa den.
Välja en sessionskonfiguration
Om du vill välja en viss sessionskonfiguration för en session använder du parametern ConfigurationName för New-PSSession, Enter-PSSession eller Invoke-Command.
Det här kommandot använder till exempel cmdleten New-PSSession för att starta en PSSession på Server01-datorn. Kommandot använder parametern ConfigurationName för att välja WithProfile-konfigurationen på Server01-datorn.
PS C:> New-PSSession -ComputerName Server01 -ConfigurationName WithProfile
Det här kommandot lyckas endast om den aktuella användaren har behörighet att använda konfigurationen för WithProfile-sessionen eller kan ange autentiseringsuppgifterna för en användare som har de behörigheter som krävs.
Du kan också använda $PSSessionConfigurationName inställningsvariabeln för att ändra standardkonfigurationen för sessioner på datorn. Mer information om $PSSessionConfigurationName-inställningsvariabeln finns i about_Preference_Variables.
NYCKELORD
about_Endpoints about_SessionConfigurations
Se även
- about_Preference_Variables
- about_PSSessions
- about_Remote
- about_Session_Configuration_Files
- Ny PSSession
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Avregistrera PSSessionConfiguration
- New-PSSessionConfigurationFile
- Test-PSSessionConfigurationFile