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 Path för Register-PSSessionConfiguration
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 egenskaper och värden 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.
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.
Dessa steg omfattar:
- 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.
Dessa steg omfattar:
- 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ärnmoduler och en intern ITTasks-modul . Administratören vill lägga till PSScheduledJob-modulen 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 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 parametern Verbose 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 – det kommando 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.
Exempelvis: @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}
Type: | IDictionary[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssembliesToLoad
Anger de sammansättningar som ska läsas in i de sessioner som använder sessionskonfigurationen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | Unknown |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Författare .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Exempelvis: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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änsat. Information om körningsprinciper i PowerShell finns i about_Execution_Policies.
Type: | ExecutionPolicy |
Accepted values: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Full
Anger att den här åtgärden innehåller alla möjliga konfigurationsegenskaper i sessionskonfigurationsfilen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Exempelvis: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
Type: | IDictionary[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GroupManagedServiceAccount
Konfigurerar sessioner med den här sessionskonfigurationen så att de körs under 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 går inte att använda det här fältet med parametern RunAsVirtualAccount .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 tillåts.
- ConstrainedLanguage – Kommandon som innehåller skript som ska utvärderas tillåts inte. Läget RestrictedLanguage 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 några 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
Type: | PSLanguageMode |
Accepted values: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 är i valfri ordning 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 .
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 filsystemprovidern inte exponeras. Användarenhetsrötter skapas under $env:LOCALAPPDATA\Microsoft\Windows\PowerShell\DriveRoots\
. För varje användare som ansluter till slutpunkten skapas en mapp med namnet $env:USERDOMAIN_$env:USERNAME
.
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 .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Anger sökvägen och filnamnet för sessionskonfigurationsfilen. Filen måste ha ett .pssc
filnamnstillägg.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 din lista över 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 tillhör grupp A, eller båda grupperna B och C, för att få åtkomst till slutpunkten: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Exempelvis: @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SchemaVersion
Anger versionen av sessionskonfigurationsfilschemat. Standardvärdet är "1.0.0.0".
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 du ska kunna 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 cmdleten
Import-Module
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.
Type: | SessionType |
Accepted values: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TranscriptDirectory
Anger vilken katalog som ska placera sessionsavskrifter för sessioner med den här sessionskonfigurationen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
- Alternativ – Variabelalternativ. 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.
Exempelvis: @{Name='WarningPreference';Value='SilentlyContinue';Options='AllScope'}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Exempelvis: VisibleAliases='gcm', 'gp'
När en synlig parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 försöker lämplig modul läsas in automatiskt.
När en synlig parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 en synlig parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo-alias från sessionen.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleProviders
Begränsar PowerShell-providrar 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 visar i sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler som importeras till sessionen.
När en synlig parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo
alias från sessionen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Indata
None
Du kan inte skicka några objekt till den här cmdleten.
Utdata
None
Den här cmdleten genererar inga utdata.
Kommentarer
Den här cmdleten är endast tillgänglig på Windows-plattformar.
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 värdet för parametern VisibleProviders till exempel är certifikatprovidern, men parametern ModulesToImport inte anger den Microsoft.PowerShell.Security-modul 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 ändra den aktiva konfigurationsfilen
$PSHOME
i katalogen när som helst 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.