New-PSSessionConfigurationFile
Skapar en fil som definierar en sessionskonfiguration.
Syntax
New-PSSessionConfigurationFile
[-Path] <String>
[-SchemaVersion <Version>]
[-Guid <Guid>]
[-Author <String>]
[-Description <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-SessionType <SessionType>]
[-TranscriptDirectory <String>]
[-RunAsVirtualAccount]
[-RunAsVirtualAccountGroups <String[]>]
[-MountUserDrive]
[-UserDriveMaximumSize <Int64>]
[-GroupManagedServiceAccount <String>]
[-ScriptsToProcess <String[]>]
[-RoleDefinitions <IDictionary>]
[-RequiredGroups <IDictionary>]
[-LanguageMode <PSLanguageMode>]
[-ExecutionPolicy <ExecutionPolicy>]
[-PowerShellVersion <Version>]
[-ModulesToImport <Object[]>]
[-VisibleAliases <String[]>]
[-VisibleCmdlets <Object[]>]
[-VisibleFunctions <Object[]>]
[-VisibleExternalCommands <String[]>]
[-VisibleProviders <String[]>]
[-AliasDefinitions <IDictionary[]>]
[-FunctionDefinitions <IDictionary[]>]
[-VariableDefinitions <Object>]
[-EnvironmentVariables <IDictionary>]
[-TypesToProcess <String[]>]
[-FormatsToProcess <String[]>]
[-AssembliesToLoad <String[]>]
[-Full]
[<CommonParameters>]
Description
Cmdleten New-PSSessionConfigurationFile
skapar en fil med inställningar som definierar en sessionskonfiguration och miljön för sessioner som skapas med hjälp av sessionskonfigurationen.
Om du vill använda filen i en sessionskonfiguration använder du parametern Register-PSSessionConfiguration
Path för cmdletarna eller Set-PSSessionConfiguration
.
Sessionskonfigurationsfilen som New-PSSessionConfigurationFile
skapar är en textfil som kan läsas av människor och som innehåller en hash-tabell med egenskaperna och värdena för sessionskonfigurationen. Filen har filnamnstillägget .pssc
.
Alla parametrar i New-PSSessionConfigurationFile
är valfria, förutom parametern Path .
Om du utelämnar en parameter kommenteras motsvarande nyckel i sessionskonfigurationsfilen ut, förutom där anges i parameterbeskrivningen.
En sessionskonfiguration, även kallad en slutpunkt, är en samling inställningar på den lokala datorn som definierar miljön för PowerShell-sessioner (PSSessioner) som ansluter till datorn. Alla PSSessioner använder en sessionskonfiguration. Om du vill ange en viss sessionskonfiguration använder du parametern ConfigurationName för cmdletar som skapar en session, till exempel cmdleten New-PSSession
.
En sessionskonfigurationsfil gör det enkelt att definiera en sessionskonfiguration utan komplexa skript eller kodsammansättningar. Inställningarna i filen används med det valfria startskriptet och eventuella sammansättningar i sessionskonfigurationen.
Mer information om sessionskonfigurationer och sessionskonfigurationsfiler finns i about_Session_Configurations och about_Session_Configuration_Files.
Den här cmdleten introducerades i PowerShell 3.0. Från och med PowerShell 6.0 var den här cmdleten endast tillgänglig på Windows-plattformen. PowerShell 7.3 gjorde den här cmdleten tillgänglig på alla plattformar som stöds.
Exempel
Exempel 1: Skapa och använda en NoLanguage-session
Det här exemplet visar hur du skapar och effekterna av att använda en session utan språk.
Stegen är följande:
- Skapa en ny konfigurationsfil.
- Registrera konfigurationen.
- Skapa en ny session som använder konfigurationen.
- Kör kommandon i den nya sessionen.
Om du vill köra kommandona i det här exemplet startar du PowerShell med alternativet Kör som administratör. Det här alternativet krävs för att köra cmdleten Register-PSSessionConfiguration
.
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguageSession = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguageSession -ScriptBlock {
if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
The syntax is not supported by this runspace. This might be because it is in no-language mode.
+ CategoryInfo : ParserError: (if ((Get-Date) ...') {'Before'} :String) [], ParseException
+ FullyQualifiedErrorId : ScriptsNotAllowed
+ PSComputerName : localhost
I det här exemplet Invoke-Command
misslyckas eftersom LanguageMode är inställt på NoLanguage.
Exempel 2: Skapa och använda en RestrictedLanguage-session
Det här exemplet visar hur du skapar och effekterna av att använda en session utan språk.
Stegen är följande:
- Skapa en ny konfigurationsfil.
- Registrera konfigurationen.
- Skapa en ny session som använder konfigurationen.
- Kör kommandon i den nya sessionen.
Om du vill köra kommandona i det här exemplet startar du PowerShell med alternativet Kör som administratör. Det här alternativet krävs för att köra cmdleten Register-PSSessionConfiguration
.
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode RestrictedLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name RestrictedLanguage -Force
$RestrictedSession = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
Invoke-Command -Session $RestrictedSession -ScriptBlock {
if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
Before
I det här exemplet Invoke-Command
lyckas eftersom LanguageMode är inställt på RestrictedLanguage.
Exempel 3: Ändra en sessionskonfigurationsfil
Det här exemplet visar hur du ändrar sessionskonfigurationsfilen som används i en befintlig session med namnet "ITTasks". Tidigare hade dessa sessioner bara kärnmodulerna och en intern ITTasks-modul . Administratören vill lägga till MODULen PSScheduledJob i sessioner som skapats med hjälp av ITTasks-sessionskonfigurationen.
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
Cmdleten New-PSSessionConfigurationFile
för att skapa en sessionskonfigurationsfil som importerar de moduler som krävs. Cmdleten Set-PSSessionConfiguration
ersätter den aktuella konfigurationsfilen med den nya. Den här nya konfigurationen påverkar bara nya sessioner som skapats efter ändringen.
Befintliga ITTasks-sessioner påverkas inte.
Exempel 4: Redigera en sessionskonfigurationsfil
Det här exemplet visar hur du ändrar en sessionskonfiguration genom att redigera den aktiva sessionskonfigurationskopian av konfigurationsfilen. Om du vill ändra sessionskonfigurationskopian av konfigurationsfilen måste du ha fullständig åtkomst till filen. Detta kan kräva att du ändrar behörigheterna för filen.
I det här scenariot vill vi lägga till ett nytt alias för cmdleten Select-String
genom att redigera den aktiva konfigurationsfilen.
Exempelkoden nedan utför följande steg för att göra den här ändringen:
- Hämta konfigurationsfilens sökväg för ITConfig-sessionen.
- Användaren redigerar konfigurationsfilen med hjälp av Notepad.exe för att ändra värdet AliasDefinitions enligt följande:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - Testa den uppdaterade konfigurationsfilen.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
Använd den utförliga parametern med Test-PSSessionConfigurationFile
för att visa eventuella fel som identifieras. Cmdleten returnerar $True
om inga fel identifieras i filen.
Exempel 5: Skapa en exempelkonfigurationsfil
Det här exemplet visar ett New-PSSessionConfigurationFile
kommando som använder alla cmdlet-parametrar.
Det ingår för att visa rätt indataformat för varje parameter.
Den resulterande SampleFile.pssc visas i utdata.
$configSettings = @{
Path = '.\SampleFile.pssc'
SchemaVersion = '1.0.0.0'
Author = 'User01'
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
CompanyName = 'Fabrikam Corporation'
Description = 'This is a sample file.'
ExecutionPolicy = 'AllSigned'
PowerShellVersion = '3.0'
LanguageMode = 'FullLanguage'
SessionType = 'Default'
EnvironmentVariables = @{TESTSHARE='\\Test2\Test'}
ModulesToImport = @{ModuleName='PSScheduledJob'; ModuleVersion='1.0.0.0'; GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'},'PSDiagnostics'
AssembliesToLoad = 'System.Web.Services','FSharp.Compiler.CodeDom.dll'
TypesToProcess = 'Types1.ps1xml','Types2.ps1xml'
FormatsToProcess = 'CustomFormats.ps1xml'
ScriptsToProcess = 'Get-Inputs.ps1'
AliasDefinitions = @{Name='hlp';Value='Get-Help';Description='Gets help.';Options='AllScope'},
@{Name='Update';Value='Update-Help';Description='Updates help';Options='ReadOnly'}
FunctionDefinitions = @{Name='Get-Function';ScriptBlock={Get-Command -CommandType Function};Options='ReadOnly'}
VariableDefinitions = @{Name='WarningPreference';Value='SilentlyContinue'}
VisibleAliases = 'c*','g*','i*','s*'
VisibleCmdlets = 'Get*'
VisibleFunctions = 'Get*'
VisibleProviders = 'FileSystem','Function','Variable'
RunAsVirtualAccount = $true
RunAsVirtualAccountGroups = 'Backup Operators'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc
@{
# Version number of the schema used for this document
SchemaVersion = '1.0.0.0'
# ID used to uniquely identify this document
GUID = '1caeff7f-27ca-4360-97cf-37846f594235'
# Author of this document
Author = 'User01'
# Description of the functionality provided by these settings
Description = 'This is a sample file.'
# Company associated with this document
CompanyName = 'Fabrikam Corporation'
# Copyright statement for this document
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
# Session type defaults to apply for this session configuration. Can be 'RestrictedRemoteServer' (recommended), 'Empty', or 'Default'
SessionType = 'Default'
# Directory to place session transcripts for this session configuration
# TranscriptDirectory = 'C:\Transcripts\'
# Whether to run this session configuration as the machine's (virtual) administrator account
RunAsVirtualAccount = $true
# Groups associated with machine's (virtual) administrator account
RunAsVirtualAccountGroups = 'Backup Operators'
# Scripts to run when applied to a session
ScriptsToProcess = 'Get-Inputs.ps1'
# User roles (security groups), and the role capabilities that should be applied to them when applied to a session
# RoleDefinitions = @{ 'CONTOSO\SqlAdmins' = @{ RoleCapabilities = 'SqlAdministration' }; 'CONTOSO\SqlManaged' = @{ RoleCapabilityFiles = 'C:\RoleCapability\SqlManaged.psrc' }; 'CONTOSO\ServerMonitors' = @{ VisibleCmdlets = 'Get-Process' } }
# Language mode to apply when applied to a session. Can be 'NoLanguage' (recommended), 'RestrictedLanguage', 'ConstrainedLanguage', or 'FullLanguage'
LanguageMode = 'FullLanguage'
# Execution policy to apply when applied to a session
ExecutionPolicy = 'AllSigned'
# Version of the PowerShell engine to use when applied to a session
PowerShellVersion = '3.0'
# Modules to import when applied to a session
ModulesToImport = @{
'GUID' = '50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
'ModuleName' = 'PSScheduledJob'
'ModuleVersion' = '1.0.0.0' }, 'PSDiagnostics'
# Aliases to make visible when applied to a session
VisibleAliases = 'c*', 'g*', 'i*', 's*'
# Cmdlets to make visible when applied to a session
VisibleCmdlets = 'Get*'
# Functions to make visible when applied to a session
VisibleFunctions = 'Get*'
# Providers to make visible when applied to a session
VisibleProviders = 'FileSystem', 'Function', 'Variable'
# Aliases to be defined when applied to a session
AliasDefinitions = @{
'Description' = 'Gets help.'
'Name' = 'hlp'
'Options' = 'AllScope'
'Value' = 'Get-Help' }, @{
'Description' = 'Updates help'
'Name' = 'Update'
'Options' = 'ReadOnly'
'Value' = 'Update-Help' }
# Functions to define when applied to a session
FunctionDefinitions = @{
'Name' = 'Get-Function'
'Options' = 'ReadOnly'
'ScriptBlock' = {Get-Command -CommandType Function} }
# Variables to define when applied to a session
VariableDefinitions = @{
'Name' = 'WarningPreference'
'Value' = 'SilentlyContinue' }
# Environment variables to define when applied to a session
EnvironmentVariables = @{
'TESTSHARE' = '\\Test2\Test' }
# Type files (.ps1xml) to load when applied to a session
TypesToProcess = 'Types1.ps1xml', 'Types2.ps1xml'
# Format files (.ps1xml) to load when applied to a session
FormatsToProcess = 'CustomFormats.ps1xml'
# Assemblies to load when applied to a session
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'
}
Parametrar
-AliasDefinitions
Lägger till de angivna aliasen i sessioner som använder sessionskonfigurationen. Ange en hash-tabell med följande nycklar:
- Namn – Aliasets namn. Den här nyckeln krävs.
- Värde – kommandot som aliaset representerar. Den här nyckeln krävs.
- Beskrivning – en textsträng som beskriver aliaset. Den här nyckeln är valfri.
- Alternativ – Aliasalternativ. Den här nyckeln är valfri. Standardvärdet är Ingen. De acceptabla värdena för den här parametern är: None, ReadOnly, Constant, Private eller AllScope.
Till exempel: @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}
Typ: | IDictionary[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AssembliesToLoad
Anger de sammansättningar som ska läsas in i de sessioner som använder sessionskonfigurationen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Author
Anger författaren till sessionskonfigurationen eller konfigurationsfilen. Standard är den aktuella användaren. Värdet för den här parametern visas i sessionskonfigurationsfilen, men det är inte en egenskap för sessionskonfigurationsobjektet.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CompanyName
Anger det företag som skapade sessionskonfigurationen eller konfigurationsfilen. Standardvärdet är Okänt. Värdet för den här parametern visas i sessionskonfigurationsfilen, men det är inte en egenskap för sessionskonfigurationsobjektet.
Typ: | String |
Position: | Named |
Standardvärde: | Unknown |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Copyright
Anger en upphovsrätt till sessionskonfigurationsfilen. Värdet för den här parametern visas i sessionskonfigurationsfilen, men det är inte en egenskap för sessionskonfigurationsobjektet.
Om du utelämnar den här parametern New-PSSessionConfigurationFile
genererar du en copyright-instruktion med hjälp av värdet för parametern Author .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Description
Anger en beskrivning av sessionskonfigurationen eller sessionskonfigurationsfilen. Värdet för den här parametern visas i sessionskonfigurationsfilen, men det är inte en egenskap för sessionskonfigurationsobjektet.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-EnvironmentVariables
Lägger till miljövariabler i sessionen. Ange en hash-tabell där nycklarna är miljövariabelnamnen och värdena är miljövariabelvärdena.
Till exempel: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Typ: | IDictionary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ExecutionPolicy
Anger körningsprincipen för sessioner som använder sessionskonfigurationen. Om du utelämnar den här parametern är värdet för Nyckeln ExecutionPolicy i sessionskonfigurationsfilen Begränsad. Information om körningsprinciper i PowerShell finns i about_Execution_Policies.
Typ: | ExecutionPolicy |
Godkända värden: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FormatsToProcess
Anger formateringsfilerna (.ps1xml) som körs i sessioner som använder sessionskonfigurationen. Värdet för den här parametern måste vara en fullständig eller absolut sökväg för formateringsfilerna.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Full
Anger att den här åtgärden innehåller alla möjliga konfigurationsegenskaper i sessionskonfigurationsfilen.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FunctionDefinitions
Lägger till de angivna funktionerna i sessioner som använder sessionskonfigurationen. Ange en hash-tabell med följande nycklar:
- Namn – Namnet på funktionen. Den här nyckeln krävs.
- ScriptBlock – Funktionstext. Ange ett skriptblock. Den här nyckeln krävs.
- Alternativ – Funktionsalternativ. Den här nyckeln är valfri. Standardvärdet är Ingen. De acceptabla värdena för den här parametern är: None, ReadOnly, Constant, Private eller AllScope.
Till exempel: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
Typ: | IDictionary[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-GroupManagedServiceAccount
Konfigurerar sessioner med den här sessionskonfigurationen så att de körs i kontexten för det angivna grupphanterade tjänstkontot. Den dator där den här sessionskonfigurationen är registrerad måste ha behörighet att begära gMSA-lösenordet för att sessioner ska kunna skapas. Det här fältet kan inte användas med parametern RunAsVirtualAccount .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Guid
Anger en unik identifierare för sessionskonfigurationsfilen. Om du utelämnar den här parametern New-PSSessionConfigurationFile
genererar du ett GUID för filen. Om du vill skapa ett nytt GUID i PowerShell skriver du New-Guid
.
Typ: | Guid |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-LanguageMode
Avgör vilka element i PowerShell-språket som tillåts i sessioner som använder den här sessionskonfigurationen. Du kan använda den här parametern för att begränsa de kommandon som vissa användare kan köra på datorn.
De acceptabla värdena för den här parametern är:
- FullLanguage – Alla språkelement är tillåtna.
- ConstrainedLanguage – Kommandon som innehåller skript som ska utvärderas tillåts inte. Läget ConstrainedLanguage begränsar användaråtkomsten till Microsoft .NET Framework-typer, objekt eller metoder.
- NoLanguage – Användare kan köra cmdletar och funktioner, men får inte använda språkelement, till exempel skriptblock, variabler eller operatorer.
- RestrictedLanguage – Användare kan köra cmdletar och funktioner, men får inte använda skriptblock eller variabler förutom följande tillåtna variabler:
$PSCulture
,$PSUICulture
,$True
,$False
och$Null
. Användare får endast använda de grundläggande jämförelseoperatorerna (-eq
,-gt
,-lt
). Tilldelningsuttryck, egenskapsreferenser och metodanrop är inte tillåtna.
Standardvärdet för parametern LanguageMode beror på värdet för parametern SessionType .
- Tom – NoLanguage
- RestrictedRemoteServer – NoLanguage
- Standard – FullLanguage
Typ: | PSLanguageMode |
Godkända värden: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ModulesToImport
Anger de moduler och snapin-moduler som automatiskt importeras till sessioner som använder sessionskonfigurationen.
Som standard importeras endast snapin-modulen Microsoft.PowerShell.Core till fjärrsessioner, men om inte cmdletarna undantas kan användarna använda Import-Module
cmdletarna och Add-PSSnapin
för att lägga till moduler och snapin-moduler i sessionen.
Varje modul eller snapin-modul i värdet för den här parametern kan representeras av en sträng eller som en hash-tabell. En modulsträng består endast av namnet på modulen eller snapin-modulen. En modulhashtabell kan innehålla ModuleName-, ModuleVersion- och GUID-nycklar . Endast ModuleName-nyckeln krävs.
Följande värde består till exempel av en sträng och en hash-tabell. Alla kombinationer av strängar och hashtabeller i valfri ordning är giltiga.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
Värdet för parametern ModulesToImport för cmdleten Register-PSSessionConfiguration
har företräde framför värdet för nyckeln ModulesToImport i sessionskonfigurationsfilen.
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-MountUserDrive
Konfigurerar sessioner som använder den här sessionskonfigurationen för att exponera User:
PSDrive. Användarenheter är unika för varje anslutande användare och tillåter användare att kopiera data till och från PowerShell-slutpunkter även om filsystemleverantören inte exponeras. Användarenhetsrötter skapas under $env:LOCALAPPDATA\Microsoft\PowerShell\DriveRoots\
. För varje användare som ansluter till slutpunkten skapas en mapp med namnet $env:USERDOMAIN\$env:USERNAME
. För datorer i arbetsgrupper är värdet $env:USERDOMAIN
för värdnamnet.
Innehållet på användarenheten sparas mellan användarsessioner och tas inte bort automatiskt. Som standard kan användarna bara lagra upp till 50 MB data på användarenheten. Detta kan anpassas med parametern UserDriveMaximumSize .
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Path
Anger sökvägen och filnamnet för sessionskonfigurationsfilen. Filen måste ha ett .pssc
filnamnstillägg.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PowerShellVersion
Anger versionen av PowerShell-motorn i sessioner som använder sessionskonfigurationen. De acceptabla värdena för den här parametern är: 2.0 och 3.0. Om du utelämnar den här parametern kommenteras PowerShellVersion-nyckeln ut och den senaste versionen av PowerShell körs i sessionen.
Värdet för PSVersion-parametern för cmdleten Register-PSSessionConfiguration
har företräde framför värdet för PowerShellVersion-nyckeln i sessionskonfigurationsfilen.
Typ: | Version |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RequiredGroups
Anger regler för villkorlig åtkomst för användare som ansluter till sessioner som använder den här sessionskonfigurationen.
Ange en hashtable för att skapa en lista med regler med endast en nyckel per hashtable, "And" eller "Or", och ange värdet till en matris med säkerhetsgruppnamn eller ytterligare hashtables.
Exempel som kräver att anslutande användare är medlemmar i en enda grupp: @{ And = 'MyRequiredGroup' }
Exempel som kräver att användare ska tillhöra grupp A, eller båda grupperna B och C, för att få åtkomst till slutpunkten: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }
Typ: | IDictionary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RoleDefinitions
Anger mappningen mellan säkerhetsgrupper (eller användare) och rollfunktioner. Användare beviljas åtkomst till alla rollfunktioner som gäller för deras gruppmedlemskap när sessionen skapas.
Ange en hash-tabell där nycklarna är namnet på säkerhetsgruppen och värdena är hash-tabeller som innehåller en lista över rollfunktioner som ska göras tillgängliga för säkerhetsgruppen.
Till exempel: @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}
Typ: | IDictionary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RunAsVirtualAccount
Konfigurerar sessioner med den här sessionskonfigurationen som ska köras som datorns (virtuella) administratörskonto. Det går inte att använda det här fältet med parametern GroupManagedServiceAccount .
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RunAsVirtualAccountGroups
Anger vilka säkerhetsgrupper som ska associeras med det virtuella kontot när en session som använder sessionskonfigurationen körs som ett virtuellt konto. Om det utelämnas tillhör det virtuella kontot domänadministratörer på domänkontrollanter och administratörer på alla andra datorer.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SchemaVersion
Anger versionen av sessionskonfigurationsfilschemat. Standardvärdet är "1.0.0.0".
Typ: | Version |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ScriptsToProcess
Lägger till de angivna skripten i sessioner som använder sessionskonfigurationen. Ange sökvägen och filnamnen för skripten. Värdet för den här parametern måste vara en fullständig eller absolut sökväg för skriptfilnamn.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SessionType
Anger vilken typ av session som skapas med hjälp av sessionskonfigurationen. Standardvärdet är Standard. De acceptabla värdena för den här parametern är:
- Tom – Inga moduler läggs till i sessionen som standard. Använd parametrarna för den här cmdleten för att lägga till moduler, funktioner, skript och andra funktioner i sessionen. Det här alternativet är utformat för att skapa anpassade sessioner genom att lägga till valda kommandon. Om du inte lägger till kommandon i en tom session är sessionen begränsad till uttryck och kanske inte kan användas.
- Standard – Lägger till modulen Microsoft.PowerShell.Core i sessionen. Den här modulen innehåller den
Import-Module
cmdlet som användarna kan använda för att importera andra moduler om du inte uttryckligen förbjuder den här cmdleten. - RestrictedRemoteServer. Innehåller endast följande proxyfunktioner:
Exit-PSSession
,Get-Command
,Get-FormatData
,Get-Help
,Measure-Object
,Out-Default
ochSelect-Object
. Använd parametrarna för den här cmdleten för att lägga till moduler, funktioner, skript och andra funktioner i sessionen.
Typ: | SessionType |
Godkända värden: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-TranscriptDirectory
Anger katalogen för att placera sessionsavskrifter för sessioner med hjälp av den här sessionskonfigurationen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-TypesToProcess
Lägger till de angivna .ps1xml
typfilerna i sessioner som använder sessionskonfigurationen. Ange typfilnamnen. Värdet för den här parametern måste vara en fullständig eller absolut sökväg för att skriva filnamn.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UserDriveMaximumSize
Anger den maximala storleken för användarenheter som exponeras i sessioner som använder den här sessionskonfigurationen.
När den utelämnas är standardstorleken för varje User:
enhetsrot 50 MB.
Den här parametern ska användas med MountUserDrive.
Typ: | Int64 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-VariableDefinitions
Lägger till de angivna variablerna i sessioner som använder sessionskonfigurationen. Ange en hash-tabell med följande nycklar:
- Namn – Namnet på variabeln. Den här nyckeln krävs.
- Värde – variabelvärde. Den här nyckeln krävs.
Till exempel: @{Name='WarningPreference';Value='SilentlyContinue'}
Typ: | Object |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-VisibleAliases
Begränsar aliasen i sessionen till de som anges i värdet för den här parametern, plus eventuella alias som du definierar i parametern AliasDefinition . Jokertecken stöds. Som standard visas alla alias som definieras av PowerShell-motorn och alla alias som moduler exporterar i sessionen.
Till exempel: VisibleAliases='gcm', 'gp'
När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-VisibleCmdlets
Begränsar cmdletarna i sessionen till de som anges i värdet för den här parametern. Jokertecken och Modulkvalificerade namn stöds.
Som standard visas alla cmdletar som moduler i sessionsexporten visar i sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler och snapin-moduler som importeras till sessionen. Om inga moduler i ModulesToImport exponerar cmdleten kommer lämplig modul att försöka läsas in automatiskt.
När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-VisibleExternalCommands
Begränsar de externa binärfiler, skript och kommandon som kan köras i sessionen till de som anges i värdet för den här parametern. Jokertecken stöds.
Som standard visas inga externa kommandon i sessionen.
När någon Visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-VisibleFunctions
Begränsar funktionerna i sessionen till de som anges i värdet för den här parametern, plus alla funktioner som du definierar i parametern FunctionDefinition . Jokertecken stöds.
Som standard visas alla funktioner som moduler i sessionsexporten har i sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler och snapin-moduler som importeras till sessionen.
När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-VisibleProviders
Begränsar PowerShell-leverantörerna i sessionen till de som anges i värdet för den här parametern. Jokertecken stöds.
Som standard visas alla leverantörer som moduler i sessionsexporten i sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler som importeras till sessionen.
När någon Visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo
alias från sessionen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
None
Den här cmdleten returnerar inga utdata.
Kommentarer
Parametrar, till exempel VisibleCmdlets och VisibleProviders, importerar inte objekt till sessionen. I stället väljer de bland de objekt som importeras till sessionen. Om till exempel värdet för parametern VisibleProviders är certifikatprovidern, men parametern ModulesToImport inte anger modulen Microsoft.PowerShell.Security som innehåller certifikatprovidern, visas inte certifikatprovidern i sessionen.
New-PSSessionConfigurationFile
skapar en sessionskonfigurationsfil som har filnamnstillägget .pssc i sökvägen som du anger i parametern Sökväg . När du använder sessionskonfigurationsfilen för att skapa en sessionskonfigurationRegister-PSSessionConfiguration
kopierar cmdleten konfigurationsfilen och sparar en aktiv kopia av filen i underkatalogen SessionConfig i$PSHOME
katalogen.Egenskapen ConfigFilePath för sessionskonfigurationen innehåller den fullständigt kvalificerade sökvägen för den aktiva sessionskonfigurationsfilen. Du kan när som helst ändra den aktiva konfigurationsfilen
$PSHOME
i katalogen med valfri textredigerare. De ändringar som du gör påverkar alla nya sessioner som använder sessionskonfigurationen, men inte befintliga sessioner.Innan du använder en redigerad sessionskonfigurationsfil använder du cmdleten
Test-PSSessionConfigurationFile
för att kontrollera att konfigurationsfilposterna är giltiga.