New-PSSessionConfigurationFile

Vytvoří soubor, který definuje konfiguraci relace.

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

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 Register-PSSessionConfiguration Cesta rutinySet-PSSessionConfiguration.

Konfigurační soubor relace, který New-PSSessionConfigurationFile vytvoří, je textový soubor čitelný člověkem, 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á definují prostředí pro relace PowerShellu (PSSessions), které se připojují k počítači. Všechny relace PSSession používají 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.

Tento postup zahrnuje:

  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 selže Invoke-Command , 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.

Tento postup zahrnuje:

  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 proběhne Invoke-Command úspěšně, protože Vlastnost 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 obsahovaly pouze základní moduly a interní modul ITTasks . Správce chce přidat modul PSScheduledJob do relací vytvořených 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 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 rutiny 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í Poznámkový blok.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

Pomocí podrobného parametru Test-PSSessionConfigurationFile zobrazte všechny zjištěné chyby. Rutina vrátí $True , pokud v souboru nejsou zjištěny žádné chyby.

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

Tento příklad ukazuje New-PSSessionConfigurationFile příkaz, 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'}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssembliesToLoad

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Author

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:Unknown
Required:False
Accept pipeline input:False
Accept wildcard characters: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 příkaz autorských práv pomocí hodnoty parametru Author .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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'}

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 omezená. Informace o zásadách spouštění v PowerShellu najdete v tématu 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

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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Full

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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'}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Tento parametr přijímá tyto hodnoty:

  • 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, $False, a $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
Type:PSLanguageMode
Accepted values:FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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é tyto moduly a Add-PSSnapin rutiny použít Import-Module k přidání modulů a modulů snap-in do relace.

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 klíče ModuleName, ModuleVersion a GUID . Vyžaduje se jenom 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 Register-PSSessionConfiguration ModulesToImport rutiny má přednost před hodnotou klíče ModulesToImport v konfiguračním souboru relace.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 jsou vytvořeny v části $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. Pro počítače v pracovních skupinách je hodnota $env:USERDOMAIN názvu 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. Tento parametr lze přizpůsobit pomocí parametru UserDriveMaximumSize .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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, klíč PowerShellVersion se zakomentuje a spustí se v relaci nejnovější verze PowerShellu.

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

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ů jako členy jedné skupiny: @{ And = 'MyRequiredGroup' }

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

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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' }}

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ří do domény Správa na řadičích domény a Správa istrátory na všech ostatních počítačích.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SchemaVersion

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

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionType

Určuje typ relace, která se vytvoří pomocí konfigurace relace. Výchozí hodnota je Default. Tento parametr přijímá tyto hodnoty:

  • 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 uživatelé můžou použít k importu dalších modulů, pokud tuto rutinu explicitně nezakážete.
  • RestrictedRemoteServer. Obsahuje pouze následující proxy funkce: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, a Select-Object. Pomocí parametrů této rutiny můžete do relace přidat moduly, funkce, skripty a další funkce.
Type:SessionType
Accepted values:Empty, RestrictedRemoteServer, Default
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TranscriptDirectory

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypesToProcess

Přidá zadané .ps1xml soubory typu 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ů.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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, výchozí velikost každého User: kořenového adresáře jednotky je 50 MB.

Tento parametr by se měl používat s MountUserDrivem.

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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'}

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell z relace odebere rutinu Import-Module a její alias ipmo.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 moduly v ModuleToImportu zpřístupňují tuto rutinu, příslušný modul se pokusí automaticky načíst.

Pokud je v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell z relace odebere rutinu Import-Module a její alias ipmo.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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 v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module a její alias ipmo z relace.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell z relace odebere rutinu Import-Module a její alias ipmo.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module a její ipmo alias z relace.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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, jako jsou 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 $PSHOME SessionConfig adresáře.

    Vlastnost ConfigFilePath konfigurace relace obsahuje plně kvalifikovanou cestu aktivního konfiguračního souboru relace. Aktivní konfigurační soubor v adresáři můžete kdykoli upravit pomocí libovolného textového $PSHOME 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í Test-PSSessionConfigurationFile rutiny ověřte, zda jsou položky konfiguračního souboru platné.