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 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.
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:
- Vytvořte nový konfigurační soubor.
- Zaregistrujte konfiguraci.
- Vytvořte novou relaci, která používá konfiguraci.
- 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:
- Vytvořte nový konfigurační soubor.
- Zaregistrujte konfiguraci.
- Vytvořte novou relaci, která používá konfiguraci.
- 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:
- Získejte cestu ke konfiguračnímu souboru pro relaci ITConfig.
- Uživatel upraví konfigurační soubor pomocí Notepad.exe změnit hodnotu AliasDefinitions následujícím způsobem:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - 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'}
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. 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.
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 |
-Copyright
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 .
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 omezená. 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.
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
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é 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.
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 jsou vytvořeny v části $env:LOCALAPPDATA\Microsoft\Windows\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 .
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 .pssc
názvu souboru.
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, 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.
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ů 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' } }
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. 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
, aSelect-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
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ů.
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, 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.
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 v konfiguračním souboru relace zahrnutý libovolný 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 |
-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.
Typ: | Object[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
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 v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell z relace odebere rutinu Import-Module
a její alias ipmo.
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 v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module
a její ipmo
alias 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 |
Vstupy
None
Do této rutiny nemůžete roušit objekty.
Výstupy
None
Tato rutina nevrátí žádný výstup.
Poznámky
Windows PowerShell obsahuje následující aliasy pro New-PSSessionConfigurationFile
:
npssc
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é.