Sdílet prostřednictvím


New-PSSessionConfigurationFile

Vytvoří soubor, který definuje konfiguraci relace.

Syntaxe

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

Rutina New-PSSessionConfigurationFile vytvoří soubor nastavení, která definují konfiguraci relace a prostředí relací vytvořených pomocí konfigurace relace. Pokud chcete soubor použít v konfiguraci relace, použijte parametr cestyRegister-PSSessionConfiguration nebo rutin Set-PSSessionConfiguration.

Konfigurační soubor relace, který New-PSSessionConfigurationFile vytvoří, je textový soubor čitelný pro člověka, který obsahuje tabulku hash vlastností a hodnot konfigurace relace. Soubor má příponu .pssc názvu souboru.

Všechny parametry New-PSSessionConfigurationFile jsou volitelné, s výjimkou parametru path. Pokud parametr vynecháte, odpovídající klíč v konfiguračním souboru relace se zakomentuje s výjimkou místa, kde je uvedeno v popisu parametru.

Konfigurace relace, označovaná také jako koncový bod, je kolekce nastavení v místním počítači, která definuje prostředí pro relace PowerShellu (psSessions), které se připojují k počítači. Všechny psSessions použít konfiguraci relace. Pokud chcete zadat konkrétní konfiguraci relace, použijte parametr ConfigurationName rutin, které vytvářejí relaci, například rutinu New-PSSession.

Konfigurační soubor relace usnadňuje definování konfigurace relace bez složitých skriptů nebo sestavení kódu. Nastavení v souboru se používají s volitelným spouštěcím skriptem a všemi sestaveními v konfiguraci relace.

Další informace o konfiguracích relací a konfiguračních souborech relací najdete v tématu about_Session_Configurations a about_Session_Configuration_Files.

Tato rutina byla představena v PowerShellu 3.0. Od PowerShellu 6.0 byla tato rutina dostupná jenom na platformě Windows. PowerShell 7.3 tuto rutinu zpřístupnil na všech podporovaných platformách.

Příklady

Příklad 1: Vytvoření a použití relace NoLanguage

Tento příklad ukazuje, jak vytvořit relaci bez jazyka a jak ji vytvořit.

Mezi tyto kroky patří:

  1. Vytvořte nový konfigurační soubor.
  2. Zaregistrujte konfiguraci.
  3. Vytvořte novou relaci, která používá konfiguraci.
  4. V této nové relaci spusťte příkazy.

Pokud chcete příkazy v tomto příkladu spustit, spusťte PowerShell pomocí možnosti Spustit jako správce. Tato možnost se vyžaduje ke spuštění rutiny 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

V tomto příkladu Invoke-Command selže, protože LanguageMode je nastavena na NoLanguage .

Příklad 2: Vytvoření a použití relace RestrictedLanguage

Tento příklad ukazuje, jak vytvořit relaci bez jazyka a jak ji vytvořit.

Mezi tyto kroky patří:

  1. Vytvořte nový konfigurační soubor.
  2. Zaregistrujte konfiguraci.
  3. Vytvořte novou relaci, která používá konfiguraci.
  4. V této nové relaci spusťte příkazy.

Pokud chcete příkazy v tomto příkladu spustit, spusťte PowerShell pomocí možnosti Spustit jako správce. Tato možnost se vyžaduje ke spuštění rutiny 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

V tomto příkladu je Invoke-Command úspěšný, protože LanguageMode je nastavena na RestrictedLanguage.

Příklad 3: Změna konfiguračního souboru relace

Tento příklad ukazuje, jak změnit konfigurační soubor relace, který se používá v existující relaci s názvem "ITTasks". Dříve tyto relace měly pouze základní moduly a interní modul ITTasks. Správce chce přidat modul PSScheduledJob k relacím vytvořeným pomocí konfigurace relace ITTasks.

New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc

Rutina New-PSSessionConfigurationFile pro vytvoření konfiguračního souboru relace, který importuje požadované moduly. Rutina Set-PSSessionConfiguration nahradí aktuální konfigurační soubor novým konfiguračním souborem. Tato nová konfigurace má vliv jenom na nové relace vytvořené po změně. Stávající relace ITTasks nejsou ovlivněny.

Příklad 4: Úprava konfiguračního souboru relace

Tento příklad ukazuje, jak změnit konfiguraci relace úpravou kopie konfigurace aktivní relace konfiguračního souboru. Chcete-li upravit kopii konfigurace relace konfiguračního souboru, musíte mít k souboru úplný přístup řízení. To může vyžadovat, abyste změnili oprávnění k souboru.

V tomto scénáři chceme přidat nový alias pro rutinu Select-String úpravou aktivního konfiguračního souboru.

Následující ukázkový kód provede tuto změnu následujícím postupem:

  1. Získejte cestu ke konfiguračnímu souboru pro relaci ITConfig.
  2. Uživatel upraví konfigurační soubor pomocí Notepad.exe a změní hodnotu AliasDefinitions následujícím způsobem: AliasDefinitions = @(@{Name='slst';Value='Select-String'}).
  3. Otestujte aktualizovaný konfigurační soubor.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath

True

K zobrazení zjištěných chyb použijte parametr Podrobné s Test-PSSessionConfigurationFile. Rutina vrátí $True, pokud se v souboru nezjistí žádné chyby.

Příklad 5: Vytvoření ukázkového konfiguračního souboru

Tento příklad ukazuje příkaz New-PSSessionConfigurationFile, který používá všechny parametry rutiny. Je součástí zobrazení správného vstupního formátu pro každý parametr.

Výsledný soubor SampleFile.pssc se zobrazí ve výstupu.

$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'

}

Parametry

-AliasDefinitions

Přidá zadané aliasy do relací, které používají konfiguraci relace. Zadejte tabulku hash s následujícími klíči:

  • Název – název aliasu. Tento klíč je povinný.
  • Hodnota – příkaz, který alias představuje. Tento klíč je povinný.
  • Popis – textový řetězec, který popisuje alias. Tento klíč je volitelný.
  • Možnosti – možnosti aliasu. Tento klíč je volitelný. Výchozí hodnota je None. Přijatelné hodnoty pro tento parametr jsou: None, ReadOnly, Constant, Private nebo AllScope.

Příklad: @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}

Typ:IDictionary[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AssembliesToLoad

Určuje sestavení, která se mají načíst do relací, které používají konfiguraci relace.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Author

Určuje autora konfigurace relace nebo konfiguračního souboru. Výchozí hodnota je aktuální uživatel. Hodnota tohoto parametru je viditelná v konfiguračním souboru relace, ale není to vlastnost objektu konfigurace relace.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-CompanyName

Určuje společnost, která vytvořila konfiguraci relace nebo konfigurační soubor. Výchozí hodnota je Neznámý. Hodnota tohoto parametru je viditelná v konfiguračním souboru relace, ale není to vlastnost objektu konfigurace relace.

Typ:String
Position:Named
Default value:Unknown
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Určuje autorská práva konfiguračního souboru relace. Hodnota tohoto parametru je viditelná v konfiguračním souboru relace, ale není to vlastnost objektu konfigurace relace.

Pokud tento parametr vynecháte, New-PSSessionConfigurationFile vygeneruje prohlášení o autorských právech pomocí hodnoty parametru Author.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Description

Určuje popis konfigurace relace nebo konfiguračního souboru relace. Hodnota tohoto parametru je viditelná v konfiguračním souboru relace, ale není to vlastnost objektu konfigurace relace.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-EnvironmentVariables

Přidá proměnné prostředí do relace. Zadejte tabulku hash, ve které jsou klíče názvy proměnných prostředí, a hodnoty jsou hodnoty proměnných prostředí.

Příklad: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}

Typ:IDictionary
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ExecutionPolicy

Určuje zásady provádění relací, které používají konfiguraci relace. Pokud tento parametr vynecháte, hodnota klíče ExecutionPolicy v konfiguračním souboru relace je Restricted. Informace o zásadách spouštění v PowerShellu najdete v tématu about_Execution_Policies.

Typ:ExecutionPolicy
Přípustné hodnoty:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-FormatsToProcess

Určuje formátovací soubory (.ps1xml), které se spouští v relacích, které používají konfiguraci relace. Hodnota tohoto parametru musí být úplná nebo absolutní cesta k formátovacím souborům.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Full

Označuje, že tato operace zahrnuje všechny možné vlastnosti konfigurace v konfiguračním souboru relace.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-FunctionDefinitions

Přidá zadané funkce do relací, které používají konfiguraci relace. Zadejte tabulku hash s následujícími klíči:

  • Název – název funkce. Tento klíč je povinný.
  • ScriptBlock – tělo funkce. Zadejte blok skriptu. Tento klíč je povinný.
  • Možnosti – možnosti funkce. Tento klíč je volitelný. Výchozí hodnota je None. Přijatelné hodnoty pro tento parametr jsou: None, ReadOnly, Constant, Private nebo AllScope.

Příklad: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}

Typ:IDictionary[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-GroupManagedServiceAccount

Konfiguruje relace pomocí této konfigurace relace tak, aby běžely v kontextu zadaného účtu spravované služby skupiny. Aby bylo možné úspěšně vytvořit relace, musí mít počítač, ve kterém je tato konfigurace relace zaregistrovaná, oprávnění k vyžádání hesla gMSA. Toto pole nelze použít s parametrem RunAsVirtualAccount.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Guid

Určuje jedinečný identifikátor konfiguračního souboru relace. Pokud tento parametr vynecháte, New-PSSessionConfigurationFile vygeneruje identifikátor GUID souboru. Pokud chcete v PowerShellu vytvořit nový identifikátor GUID, zadejte New-Guid.

Typ:Guid
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-LanguageMode

Určuje, které prvky jazyka PowerShellu jsou povoleny v relacích, které používají tuto konfiguraci relace. Tento parametr můžete použít k omezení příkazů, které můžou konkrétní uživatelé spouštět v počítači.

Přijatelné hodnoty pro tento parametr jsou:

  • FullLanguage – Jsou povoleny všechny prvky jazyka.
  • ConstrainedLanguage – Příkazy obsahující skripty, které se mají vyhodnotit, nejsou povoleny. Režim ConstrainedLanguage omezuje uživatelský přístup k typům, objektům nebo metodám rozhraní Microsoft .NET Framework.
  • NoLanguage – Uživatelé mohou spouštět rutiny a funkce, ale nemají povoleno používat žádné elementy jazyka, jako jsou bloky skriptu, proměnné nebo operátory.
  • RestrictedLanguage – Uživatelé mohou spouštět rutiny a funkce, ale nemají povoleno používat bloky nebo proměnné skriptu s výjimkou následujících povolených proměnných: $PSCulture, $PSUICulture, $True, $Falsea $Null. Uživatelé mohou používat pouze základní relační operátory (-eq, -gt, -lt). Příkazy přiřazení, odkazy na vlastnosti a volání metody nejsou povoleny.

Výchozí hodnota parametru LanguageMode závisí na hodnotě parametru SessionType.

  • Prázdné – NoLanguage
  • RestrictedRemoteServer – NoLanguage
  • Výchozí – FullLanguage
Typ:PSLanguageMode
Přípustné hodnoty:FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ModulesToImport

Určuje moduly a moduly snap-in, které se automaticky importují do relací, které používají konfiguraci relace.

Ve výchozím nastavení se do vzdálených relací importuje jenom modul snap-in Microsoft.PowerShell.Core, ale pokud nejsou rutiny vyloučené, můžou uživatelé k přidání modulů a modulů snap-in do relace použít Import-Module a rutiny Add-PSSnapin.

Každý modul nebo modul snap-in v hodnotě tohoto parametru může být reprezentován řetězcem nebo jako hashovací tabulka. Řetězec modulu se skládá jenom z názvu modulu nebo modulu snap-in. Tabulka hodnot hash modulu může obsahovat ModuleName, ModuleVersiona klíče GUID. Vyžaduje se pouze klíč ModuleName.

Například následující hodnota se skládá z řetězce a tabulky hash. Jakákoli kombinace řetězců a hashovacích tabulek v libovolném pořadí je platná.

'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}

Hodnota parametru ModulesToImport rutiny Register-PSSessionConfiguration má přednost před hodnotou klíče ModulesToImport v konfiguračním souboru relace.

Typ:Object[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-MountUserDrive

Konfiguruje relace, které používají tuto konfiguraci relace, aby zpřístupnil User: PSDrive. Uživatelské jednotky jsou jedinečné pro každého připojujícího uživatele a umožňují uživatelům kopírovat data do koncových bodů PowerShellu i v případě, že poskytovatel systému souborů není vystavený. Kořeny uživatelských jednotek se vytvářejí v rámci $env:LOCALAPPDATA\Microsoft\PowerShell\DriveRoots\. Pro každého uživatele, který se připojuje ke koncovému bodu, se vytvoří složka s názvem $env:USERDOMAIN\$env:USERNAME. U počítačů v pracovních skupinách je hodnota $env:USERDOMAIN název hostitele.

Obsah v uživatelské jednotce se zachová v rámci uživatelských relací a automaticky se neodebere. Ve výchozím nastavení můžou uživatelé ukládat na uživatelskou jednotku maximálně 50 MB dat. To lze přizpůsobit pomocí parametru UserDriveMaximumSize.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

Určuje cestu a název souboru konfiguračního souboru relace. Soubor musí mít příponu názvu souboru .pssc.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PowerShellVersion

Určuje verzi modulu PowerShellu v relacích, které používají konfiguraci relace. Přijatelné hodnoty pro tento parametr jsou: 2.0 a 3.0. Pokud tento parametr vynecháte, PowerShellVersion klíč se zakomentuje a v relaci se spustí nejnovější verze PowerShellu.

Hodnota parametru PSVersion rutiny Register-PSSessionConfiguration má přednost před hodnotou klíče PowerShellVersion v konfiguračním souboru relace.

Typ:Version
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RequiredGroups

Určuje pravidla podmíněného přístupu pro uživatele připojující se k relacím, které používají tuto konfiguraci relace.

Zadejte zatřiďovací tabulku pro vytvoření seznamu pravidel pomocí pouze 1 klíče na hashtable, And nebo Or a nastavte hodnotu na pole názvů skupin zabezpečení nebo dalších hashtables.

Příklad, který vyžaduje připojení uživatelů k jedné skupině: @{ And = 'MyRequiredGroup' }

Příklad, který vyžaduje, aby uživatelé patřili do skupiny A nebo do obou skupin B a C pro přístup ke koncovému bodu: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }

Typ:IDictionary
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RoleDefinitions

Určuje mapování mezi skupinami zabezpečení (nebo uživateli) a možnostmi rolí. Uživatelům bude udělen přístup ke všem možnostem role, které se vztahují na členství ve skupině v době vytvoření relace.

Zadejte tabulku hash, ve které jsou klíče názvem skupiny zabezpečení, a hodnoty jsou hashovací tabulky, které obsahují seznam funkcí rolí, které by měly být zpřístupněny skupině zabezpečení.

Příklad: @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}

Typ:IDictionary
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RunAsVirtualAccount

Konfiguruje relace pomocí této konfigurace relace tak, aby se spouštěly jako účet správce počítače (virtuálního). Toto pole nelze použít s parametrem GroupManagedServiceAccount.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RunAsVirtualAccountGroups

Určuje skupiny zabezpečení, které mají být přidruženy k virtuálnímu účtu, když se relace, která používá konfiguraci relace, spustí jako virtuální účet. Pokud tento parametr vynecháte, virtuální účet patří správcům domény na řadičích domény a správci na všech ostatních počítačích.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SchemaVersion

Určuje verzi schématu konfiguračního souboru relace. Výchozí hodnota je 1.0.0.0.

Typ:Version
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ScriptsToProcess

Přidá zadané skripty do relací, které používají konfiguraci relace. Zadejte cestu a názvy souborů skriptů. Hodnota tohoto parametru musí být úplná nebo absolutní cesta názvů souborů skriptu.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SessionType

Určuje typ relace, která se vytvoří pomocí konfigurace relace. Výchozí hodnota je Default. Přijatelné hodnoty pro tento parametr jsou:

  • Prázdné – Do relace se ve výchozím nastavení nepřidávají žádné moduly. Pomocí parametrů této rutiny můžete do relace přidat moduly, funkce, skripty a další funkce. Tato možnost je určená k vytváření vlastních relací přidáním vybraných příkazů. Pokud nepřidáte příkazy do prázdné relace, relace je omezená na výrazy a nemusí být použitelná.
  • Výchozí – přidá do relace modul Microsoft.PowerShell.Core. Tento modul obsahuje rutinu Import-Module, kterou můžou uživatelé použít k importu dalších modulů, pokud tuto rutinu explicitně nezakážete.
  • RestrictedRemoteServer. Zahrnuje pouze následující proxy funkce: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Defaulta Select-Object. Pomocí parametrů této rutiny můžete do relace přidat moduly, funkce, skripty a další funkce.
Typ:SessionType
Přípustné hodnoty:Empty, RestrictedRemoteServer, Default
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-TranscriptDirectory

Určuje adresář pro umístění přepisů relací pro relace pomocí této konfigurace relace.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-TypesToProcess

Přidá zadané .ps1xml typy souborů do relací, které používají konfiguraci relace. Zadejte názvy souborů typu. Hodnota tohoto parametru musí být úplná nebo absolutní cesta k typům názvů souborů.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-UserDriveMaximumSize

Určuje maximální velikost jednotek uživatelů vystavených v relacích, které používají tuto konfiguraci relace. Pokud tuto hodnotu vynecháte, je výchozí velikost každé User: kořenové jednotky 50 MB.

Tento parametr by měl být použit s MountUserDrive.

Typ:Int64
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-VariableDefinitions

Přidá zadané proměnné do relací, které používají konfiguraci relace. Zadejte tabulku hash s následujícími klíči:

  • Název – název proměnné. Tento klíč je povinný.
  • Hodnota – proměnná hodnota. Tento klíč je povinný.

Příklad: @{Name='WarningPreference';Value='SilentlyContinue'}

Typ:Object
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-VisibleAliases

Omezí aliasy v relaci na aliasy zadané v hodnotě tohoto parametru a všechny aliasy, které definujete v parametru AliasDefinition. Podporují se zástupné znaky. Ve výchozím nastavení jsou v relaci viditelné všechny aliasy definované modulem PowerShellu a všechny aliasy, které moduly exportují.

Příklad: VisibleAliases='gcm', 'gp'

Pokud je součástí konfiguračního souboru relace jakýkoli parametr Visible, PowerShell odebere rutinu Import-Module a její alias ipmo z relace.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-VisibleCmdlets

Omezí rutiny v relaci na rutiny zadané v hodnotě tohoto parametru. Podporují se zástupné znaky a kvalifikované názvy modulů.

Ve výchozím nastavení jsou v relaci viditelné všechny rutiny, které moduly v exportu relace. Pomocí parametrů SessionType a ModulesToImport určete, které moduly a moduly snap-in se do relace importují. Pokud ModulesToImport žádné moduly zpřístupňují rutinu, příslušný modul se pokusí automaticky načíst.

Pokud je součástí konfiguračního souboru relace jakýkoli parametr Visible, PowerShell odebere rutinu Import-Module a její alias ipmo z relace.

Typ:Object[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-VisibleExternalCommands

Omezuje externí binární soubory, skripty a příkazy, které se dají spustit v relaci, na ty, které jsou zadané v hodnotě tohoto parametru. Podporují se zástupné znaky.

Ve výchozím nastavení nejsou v relaci viditelné žádné externí příkazy.

Pokud je jakýkoli parametr Visible součástí konfiguračního souboru relace, PowerShell odebere rutinu Import-Module a její alias ipmo z relace.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-VisibleFunctions

Omezuje funkce v relaci na funkce zadané v hodnotě tohoto parametru a všechny funkce, které definujete v parametru FunctionDefinition. Podporují se zástupné znaky.

Ve výchozím nastavení jsou v relaci viditelné všechny funkce, které moduly v exportu relace. Pomocí parametrů SessionType a ModulesToImport určete, které moduly a moduly snap-in se do relace importují.

Pokud je součástí konfiguračního souboru relace jakýkoli parametr Visible, PowerShell odebere rutinu Import-Module a její alias ipmo z relace.

Typ:Object[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-VisibleProviders

Omezí zprostředkovatele PowerShellu v relaci na ty, které jsou zadané v hodnotě tohoto parametru. Podporují se zástupné znaky.

Ve výchozím nastavení jsou v relaci vidět všichni poskytovatelé, kteří moduly v exportu relace. Pomocí parametrů SessionType a ModulesToImport určete, které moduly se do relace importují.

Pokud je do konfiguračního souboru relace zahrnutý jakýkoli parametr Visible, PowerShell z relace odebere rutinu Import-Module a její alias ipmo.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

Vstupy

None

Do této rutiny nemůžete roušit objekty.

Výstupy

None

Tato rutina nevrátí žádný výstup.

Poznámky

  • Parametry, například VisibleCmdlets a VisibleProviders, neimportují položky do relace. Místo toho vyberou z položek importovaných do relace. Pokud je například hodnota parametru VisibleProviders zprostředkovatelem certifikátu, ale parametr ModulesToImport nezadá modul Microsoft.PowerShell.Security, který obsahuje zprostředkovatele certifikátu, není zprostředkovatel certifikátu v relaci viditelný.

  • New-PSSessionConfigurationFile vytvoří konfigurační soubor relace, který má příponu názvu souboru .pssc v cestě, kterou zadáte v parametru Cesta. Když použijete konfigurační soubor relace k vytvoření konfigurace relace, Register-PSSessionConfiguration rutina zkopíruje konfigurační soubor a uloží aktivní kopii souboru do podadresáře SessionConfig adresáře $PSHOME.

    Vlastnost ConfigFilePath konfigurace relace obsahuje plně kvalifikovanou cestu konfiguračního souboru aktivní relace. Aktivní konfigurační soubor v adresáři $PSHOME můžete kdykoli upravit pomocí libovolného textového editoru. Změny, které provedete, ovlivní všechny nové relace, které používají konfiguraci relace, ale ne existující relace.

    Před použitím upraveného konfiguračního souboru relace pomocí rutiny Test-PSSessionConfigurationFile ověřte platnost položek konfiguračního souboru.