New-PSSessionConfigurationFile
Tworzy plik, który definiuje konfigurację sesji.
Składnia
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>]
Opis
To polecenie cmdlet jest dostępne tylko na platformie Windows.
Polecenie New-PSSessionConfigurationFile
cmdlet tworzy plik ustawień definiujących konfigurację sesji i środowisko sesji, które są tworzone przy użyciu konfiguracji sesji.
Aby użyć pliku w konfiguracji sesji, użyj parametru Register-PSSessionConfiguration
Ścieżka poleceń cmdlet lubSet-PSSessionConfiguration
.
Plik konfiguracji sesji, który New-PSSessionConfigurationFile
tworzy, jest czytelnym dla człowieka plikiem tekstowym zawierającym tabelę skrótów właściwości i wartości konfiguracji sesji. Plik ma .pssc
rozszerzenie nazwy pliku.
Wszystkie parametry są New-PSSessionConfigurationFile
opcjonalne, z wyjątkiem parametru Ścieżka .
W przypadku pominięcia parametru odpowiedni klucz w pliku konfiguracji sesji jest komentowany, z wyjątkiem sytuacji, w której został zanotowany w opisie parametru.
Konfiguracja sesji, znana również jako punkt końcowy, to kolekcja ustawień na komputerze lokalnym definiującym środowisko sesji programu PowerShell (PSSessions), które łączą się z komputerem. Wszystkie pliki PSSessions używają konfiguracji sesji. Aby określić określoną konfigurację sesji, użyj parametru ConfigurationName poleceń cmdlet, które tworzą sesję, taką jak New-PSSession
polecenie cmdlet.
Plik konfiguracji sesji ułatwia definiowanie konfiguracji sesji bez złożonych skryptów lub zestawów kodu. Ustawienia w pliku są używane z opcjonalnym skryptem uruchamiania i wszystkimi zestawami w konfiguracji sesji.
Aby uzyskać więcej informacji na temat konfiguracji sesji i plików konfiguracji sesji, zobacz about_Session_Configurations i about_Session_Configuration_Files.
To polecenie cmdlet zostało wprowadzone w programie PowerShell 3.0.
Przykłady
Przykład 1. Tworzenie i używanie sesji NoLanguage
W tym przykładzie pokazano, jak utworzyć i efekty korzystania z sesji bez języka.
Kroki te obejmują:
- Twórca nowy plik konfiguracji.
- Zarejestruj konfigurację.
- Twórca nowej sesji korzystającej z konfiguracji.
- Uruchom polecenia w tej nowej sesji.
Aby uruchomić polecenia w tym przykładzie, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator. Ta opcja jest wymagana Register-PSSessionConfiguration
do uruchomienia polecenia cmdlet.
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
W tym przykładzie niepowodzenie Invoke-Command
, ponieważ tryb LanguageMode jest ustawiony na NoLanguage.
Przykład 2. Tworzenie i używanie sesji z ograniczeniamiLanguage
W tym przykładzie pokazano, jak utworzyć i efekty korzystania z sesji bez języka.
Kroki te obejmują:
- Twórca nowy plik konfiguracji.
- Zarejestruj konfigurację.
- Twórca nowej sesji korzystającej z konfiguracji.
- Uruchom polecenia w tej nowej sesji.
Aby uruchomić polecenia w tym przykładzie, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator. Ta opcja jest wymagana Register-PSSessionConfiguration
do uruchomienia polecenia cmdlet.
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
W tym przykładzie powodzenie następuje, Invoke-Command
ponieważ tryb LanguageMode jest ustawiony na Wartość RestrictedLanguage.
Przykład 3. Zmiana pliku konfiguracji sesji
W tym przykładzie pokazano, jak zmienić plik konfiguracji sesji używany w istniejącej sesji o nazwie "ITTasks". Wcześniej te sesje miały tylko podstawowe moduły i wewnętrzny moduł ITTasks . Administrator chce dodać moduł PSScheduledJob do sesji utworzonych przy użyciu konfiguracji sesji ITTasks.
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
Polecenie New-PSSessionConfigurationFile
cmdlet do utworzenia pliku konfiguracji sesji, który importuje wymagane moduły. Polecenie Set-PSSessionConfiguration
cmdlet zastępuje bieżący plik konfiguracji nowym. Ta nowa konfiguracja wpływa tylko na nowe sesje utworzone po zmianie.
Nie ma to wpływu na istniejące sesje "ITTasks".
Przykład 4. Edytowanie pliku konfiguracji sesji
W tym przykładzie pokazano, jak zmienić konfigurację sesji, edytując kopię konfiguracji aktywnej sesji pliku konfiguracji. Aby zmodyfikować kopię konfiguracji sesji pliku konfiguracji, musisz mieć pełną kontrolę dostępu do pliku. Może to wymagać zmiany uprawnień w pliku.
W tym scenariuszu Select-String
chcemy dodać nowy alias polecenia cmdlet, edytując aktywny plik konfiguracji.
Poniższy przykładowy kod wykonuje następujące kroki, aby wprowadzić tę zmianę:
- Pobierz ścieżkę pliku konfiguracji dla sesji ITConfig.
- Użytkownik edytuje plik konfiguracji przy użyciu Notepad.exe , aby zmienić wartość AliasDefinitions w następujący sposób:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - Przetestuj zaktualizowany plik konfiguracji.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
Użyj parametru Verbose z, Test-PSSessionConfigurationFile
aby wyświetlić wszelkie wykryte błędy. Polecenie cmdlet zwraca wartość $True
, jeśli w pliku nie wykryto żadnych błędów.
Przykład 5: Twórca przykładowy plik konfiguracji
W tym przykładzie New-PSSessionConfigurationFile
przedstawiono polecenie, które używa wszystkich parametrów polecenia cmdlet.
Jest on dołączony do wyświetlania poprawnego formatu wejściowego dla każdego parametru.
Wynikowy plik SampleFile.pssc jest wyświetlany w danych wyjściowych.
$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
Dodaje określone aliasy do sesji korzystających z konfiguracji sesji. Wprowadź tabelę skrótów z następującymi kluczami:
- Name — nazwa aliasu. Ten klucz jest wymagany.
- Value — polecenie, które reprezentuje alias. Ten klucz jest wymagany.
- Opis — ciąg tekstowy opisujący alias. Ten klucz jest opcjonalny.
- Opcje — opcje aliasu. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.
Na przykład: @{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
Określa zestawy do załadowania do sesji korzystających z konfiguracji sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Author
Określa autora konfiguracji sesji lub pliku konfiguracji. Wartość domyślna to użytkownik bieżący. Wartość tego parametru jest widoczna w pliku konfiguracji sesji, ale nie jest właściwością obiektu konfiguracji sesji.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompanyName
Określa firmę, która utworzyła konfigurację sesji lub plik konfiguracji. Wartość domyślna to Nieznany. Wartość tego parametru jest widoczna w pliku konfiguracji sesji, ale nie jest właściwością obiektu konfiguracji sesji.
Type: | String |
Position: | Named |
Default value: | Unknown |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
Określa prawa autorskie do pliku konfiguracji sesji. Wartość tego parametru jest widoczna w pliku konfiguracji sesji, ale nie jest właściwością obiektu konfiguracji sesji.
Jeśli pominiesz ten parametr, New-PSSessionConfigurationFile
wygeneruje oświadczenie o prawach autorskich przy użyciu wartości parametru Author .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Określa opis konfiguracji sesji lub pliku konfiguracji sesji. Wartość tego parametru jest widoczna w pliku konfiguracji sesji, ale nie jest właściwością obiektu konfiguracji sesji.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnvironmentVariables
Dodaje zmienne środowiskowe do sesji. Wprowadź tabelę skrótów, w której klucze są nazwami zmiennych środowiskowych, a wartości są wartościami zmiennych środowiskowych.
Na przykład: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExecutionPolicy
Określa zasady wykonywania sesji korzystających z konfiguracji sesji. W przypadku pominięcia tego parametru wartość klucza ExecutionPolicy w pliku konfiguracji sesji jest ograniczona. Aby uzyskać informacje o zasadach wykonywania w programie PowerShell, zobacz 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
Określa pliki formatowania (ps1xml), które są uruchamiane w sesjach korzystających z konfiguracji sesji. Wartość tego parametru musi być pełną lub bezwzględną ścieżką plików formatowania.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Full
Wskazuje, że ta operacja zawiera wszystkie możliwe właściwości konfiguracji w pliku konfiguracji sesji.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FunctionDefinitions
Dodaje określone funkcje do sesji korzystających z konfiguracji sesji. Wprowadź tabelę skrótów z następującymi kluczami:
- Name — nazwa funkcji. Ten klucz jest wymagany.
- ScriptBlock — treść funkcji. Wprowadź blok skryptu. Ten klucz jest wymagany.
- Opcje — opcje funkcji. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.
Na przykład: @{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 sesje przy użyciu tej konfiguracji sesji do uruchomienia w kontekście określonego konta usługi zarządzanego przez grupę. Maszyna, na której zarejestrowano tę konfigurację sesji, musi mieć uprawnienia do żądania hasła gMSA w celu pomyślnego utworzenia sesji. Tego pola nie można użyć z parametrem RunAsVirtualAccount .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Guid
Określa unikatowy identyfikator pliku konfiguracji sesji. Jeśli ten parametr zostanie pominięty, New-PSSessionConfigurationFile
wygeneruje identyfikator GUID dla pliku. Aby utworzyć nowy identyfikator GUID w programie PowerShell, wpisz New-Guid
.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LanguageMode
Określa, które elementy języka programu PowerShell są dozwolone w sesjach korzystających z tej konfiguracji sesji. Tego parametru można użyć, aby ograniczyć polecenia, które użytkownicy mogą uruchamiać na komputerze.
Dopuszczalne wartości dla tego parametru to:
- FullLanguage — dozwolone są wszystkie elementy języka.
- ConstrainedLanguage — polecenia zawierające skrypty do oceny są niedozwolone. Tryb ConstrainedLanguage ogranicza dostęp użytkowników do typów, obiektów lub metod firmy Microsoft .NET Framework.
- NoLanguage — użytkownicy mogą uruchamiać polecenia cmdlet i funkcje, ale nie mogą używać żadnych elementów językowych, takich jak bloki skryptów, zmienne lub operatory.
- RestrictedLanguage — użytkownicy mogą uruchamiać polecenia cmdlet i funkcje, ale nie mogą używać bloków skryptów lub zmiennych, z wyjątkiem następujących dozwolonych zmiennych:
$PSCulture
, ,$PSUICulture
$True
,$False
i$Null
. Użytkownicy mogą używać tylko podstawowych operatorów porównania (-eq
,-gt
,-lt
). Instrukcje przypisania, odwołania do właściwości i wywołania metod nie są dozwolone.
Wartość domyślna parametru LanguageMode zależy od wartości parametru SessionType .
- Puste — NoLanguage
- RestrictedRemoteServer — NoLanguage
- Ustawienie domyślne — 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
Określa moduły i przystawki, które są automatycznie importowane do sesji korzystających z konfiguracji sesji.
Domyślnie tylko przystawka Microsoft.PowerShell.Core jest importowana do sesji zdalnych, ale jeśli polecenia cmdlet nie zostaną wykluczone, użytkownicy mogą używać Import-Module
poleceń cmdlet i Add-PSSnapin
do dodawania modułów i przystawki do sesji.
Każdy moduł lub przystawka w wartości tego parametru może być reprezentowany przez ciąg lub jako tabelę skrótów. Ciąg modułu składa się tylko z nazwy modułu lub przystawki. Tabela skrótów modułów może zawierać klucze ModuleName, ModuleVersion i GUID . Wymagany jest tylko klucz ModuleName .
Na przykład następująca wartość składa się z ciągu i tabeli skrótu. Każda kombinacja ciągów i tabel skrótów w dowolnej kolejności jest prawidłowa.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
Wartość parametru Register-PSSessionConfiguration
ModulesToImport polecenia cmdlet ma pierwszeństwo przed wartością klucza ModulesToImport w pliku konfiguracji sesji.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MountUserDrive
Konfiguruje sesje korzystające z tej konfiguracji sesji, aby uwidocznić usługę User:
PSDrive. Dyski użytkowników są unikatowe dla każdego użytkownika łączącego i umożliwiają użytkownikom kopiowanie danych do i z punktów końcowych programu PowerShell, nawet jeśli dostawca systemu plików nie jest uwidoczniony. Katalogi root dysku użytkownika są tworzone w obszarze $env:LOCALAPPDATA\Microsoft\PowerShell\DriveRoots\
. Dla każdego użytkownika nawiązującego połączenie z punktem końcowym tworzony jest folder o nazwie $env:USERDOMAIN\$env:USERNAME
. W przypadku komputerów w grupach roboczych wartość $env:USERDOMAIN
to nazwa hosta.
Zawartość dysku użytkownika jest utrwalana między sesjami użytkownika i nie są automatycznie usuwane. Domyślnie użytkownicy mogą przechowywać tylko 50 MB danych na dysku użytkownika. Można to dostosować za pomocą parametru UserDriveMaximumSize .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Określa ścieżkę i nazwę pliku konfiguracji sesji. Plik musi mieć .pssc
rozszerzenie nazwy pliku.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellVersion
Określa wersję aparatu programu PowerShell w sesjach korzystających z konfiguracji sesji. Dopuszczalne wartości tego parametru to: 2.0 i 3.0. Jeśli pominięto ten parametr, klucz PowerShellVersion jest komentowany i najnowsza wersja programu PowerShell jest uruchamiana w sesji.
Wartość parametru Register-PSSessionConfiguration
PSVersion polecenia cmdlet ma pierwszeństwo przed wartością klucza PowerShellVersion w pliku konfiguracji sesji.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredGroups
Określa reguły dostępu warunkowego dla użytkowników łączących się z sesjami korzystającymi z tej konfiguracji sesji.
Wprowadź tabelę skrótu, aby utworzyć listę reguł przy użyciu tylko 1 klucza na wartość skrótu, "And" lub "Or", i ustaw wartość na tablicę nazw grup zabezpieczeń lub dodatkowych tabel skrótów.
Przykład wymagający połączenia użytkowników z jedną grupą: @{ And = 'MyRequiredGroup' }
Przykład wymagający od użytkowników, aby należeli do grupy A lub grup B i C w celu uzyskania dostępu do punktu końcowego: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RoleDefinitions
Określa mapowanie między grupami zabezpieczeń (lub użytkownikami) i możliwościami roli. Użytkownicy otrzymają dostęp do wszystkich funkcji ról, które mają zastosowanie do członkostwa w grupie w momencie utworzenia sesji.
Wprowadź tabelę skrótu, w której klucze są nazwą grupy zabezpieczeń, a wartości to tabele skrótów, które zawierają listę funkcji roli, które powinny zostać udostępnione grupie zabezpieczeń.
Na przykład: @{'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 sesje przy użyciu tej konfiguracji sesji do uruchomienia jako konto administratora komputera (wirtualnego). Tego pola nie można użyć z parametrem GroupManagedServiceAccount .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsVirtualAccountGroups
Określa grupy zabezpieczeń, które mają być skojarzone z kontem wirtualnym, gdy sesja korzystająca z konfiguracji sesji jest uruchamiana jako konto wirtualne. W przypadku pominięcia konto wirtualne należy do administratorów domeny na kontrolerach domeny i administratorach na wszystkich innych komputerach.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SchemaVersion
Określa wersję schematu pliku konfiguracji sesji. Wartość domyślna to "1.0.0.0".
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptsToProcess
Dodaje określone skrypty do sesji korzystających z konfiguracji sesji. Wprowadź ścieżkę i nazwy plików skryptów. Wartość tego parametru musi być pełną lub bezwzględną ścieżką nazw plików skryptu.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionType
Określa typ sesji, która jest tworzona przy użyciu konfiguracji sesji. Wartość domyślna to Domyślna. Dopuszczalne wartości dla tego parametru to:
- Puste — domyślnie do sesji nie są dodawane żadne moduły. Użyj parametrów tego polecenia cmdlet, aby dodać moduły, funkcje, skrypty i inne funkcje do sesji. Ta opcja jest przeznaczona do tworzenia sesji niestandardowych przez dodanie wybranych poleceń. Jeśli nie dodasz poleceń do pustej sesji, sesja jest ograniczona do wyrażeń i może nie być do użycia.
- Default — dodaje moduł Microsoft.PowerShell.Core do sesji. Ten moduł zawiera
Import-Module
polecenie cmdlet, za pomocą którego użytkownicy mogą importować inne moduły, chyba że jawnie zabronisz tego polecenia cmdlet. - RestrictedRemoteServer. Zawiera tylko następujące funkcje serwera proxy:
Exit-PSSession
, ,Get-FormatData
Get-Command
,Get-Help
,Measure-Object
,Out-Default
iSelect-Object
. Użyj parametrów tego polecenia cmdlet, aby dodać moduły, funkcje, skrypty i inne funkcje do sesji.
Type: | SessionType |
Accepted values: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TranscriptDirectory
Określa katalog do umieszczania transkrypcji sesji dla sesji przy użyciu tej konfiguracji sesji.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypesToProcess
Dodaje określone .ps1xml
pliki typu do sesji korzystających z konfiguracji sesji. Wprowadź nazwy plików typu. Wartość tego parametru musi być pełną lub bezwzględną ścieżką do typów nazw plików.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserDriveMaximumSize
Określa maksymalny rozmiar dysków użytkowników uwidocznionych w sesjach korzystających z tej konfiguracji sesji.
Po pominięciu domyślny rozmiar każdego User:
katalogu głównego dysku wynosi 50 MB.
Ten parametr powinien być używany z usługą MountUserDrive.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VariableDefinitions
Dodaje określone zmienne do sesji korzystających z konfiguracji sesji. Wprowadź tabelę skrótów z następującymi kluczami:
- Name — nazwa zmiennej. Ten klucz jest wymagany.
- Value — wartość zmiennej. Ten klucz jest wymagany.
- Opcje — opcje zmiennych. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.
Na przykład: @{Name='WarningPreference';Value='SilentlyContinue';Options='AllScope'}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VisibleAliases
Ogranicza aliasy w sesji do tych określonych w wartości tego parametru oraz wszystkich aliasów zdefiniowanych w aliasie parametru AliasDefinition . Obsługiwane są symbole wieloznaczne. Domyślnie wszystkie aliasy zdefiniowane przez aparat programu PowerShell i wszystkie aliasy eksportowane przez moduły są widoczne w sesji.
Na przykład: VisibleAliases='gcm', 'gp'
Gdy dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa Import-Module
polecenie cmdlet i jego alias ipmo z sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleCmdlets
Ogranicza polecenia cmdlet w sesji do tych określonych w wartości tego parametru. Obsługiwane są symbole wieloznaczne i kwalifikowane nazwy modułu.
Domyślnie wszystkie polecenia cmdlet modułów w eksporcie sesji są widoczne w sesji. Użyj parametrów SessionType i ModulesToImport , aby określić, które moduły i przystawki są importowane do sesji. Jeśli polecenie cmdlet nie zawiera żadnych modułów w moduleToImport , odpowiedni moduł podejmie próbę automatycznego załadowania.
Gdy dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa Import-Module
polecenie cmdlet i jego alias ipmo z sesji.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VisibleExternalCommands
Ogranicza zewnętrzne pliki binarne, skrypty i polecenia, które można wykonać w sesji do tych określonych w wartości tego parametru. Obsługiwane są symbole wieloznaczne.
Domyślnie w sesji nie są widoczne żadne polecenia zewnętrzne.
Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa Import-Module
polecenie cmdlet i jego alias ipmo z sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleFunctions
Ogranicza funkcje w sesji do tych określonych w wartości tego parametru oraz wszystkich funkcji zdefiniowanych w parametrze FunctionDefinition . Obsługiwane są symbole wieloznaczne.
Domyślnie wszystkie funkcje modułów w eksporcie sesji są widoczne w sesji. Użyj parametrów SessionType i ModulesToImport , aby określić, które moduły i przystawki są importowane do sesji.
Gdy dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa Import-Module
polecenie cmdlet i jego alias ipmo z sesji.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-VisibleProviders
Ogranicza dostawców programu PowerShell w sesji do tych określonych w wartości tego parametru. Obsługiwane są symbole wieloznaczne.
Domyślnie wszyscy dostawcy, którzy moduły w eksporcie sesji są widoczni w sesji. Użyj parametrów SessionType i ModulesToImport , aby określić, które moduły są importowane do sesji.
Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa Import-Module
polecenie cmdlet i jego ipmo
alias z sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Dane wejściowe
None
Nie można przekazać potoku żadnych obiektów do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie generuje żadnych danych wyjściowych.
Uwagi
To polecenie cmdlet jest dostępne tylko na platformach systemu Windows.
Parametry, takie jak VisibleCmdlets i VisibleProviders, nie importują elementów do sesji. Zamiast tego wybierają spośród elementów zaimportowanych do sesji. Jeśli na przykład wartość parametru VisibleProviders jest dostawcą certyfikatu, ale parametr ModulesToImport nie określa modułu Microsoft.PowerShell.Security zawierającego dostawcę certyfikatów, dostawca certyfikatów nie jest widoczny w sesji.
New-PSSessionConfigurationFile
Tworzy plik konfiguracji sesji, który ma rozszerzenie nazwy pliku pssc w ścieżce określonej w parametrze Ścieżka . Gdy używasz pliku konfiguracji sesji do utworzenia konfiguracji sesji,Register-PSSessionConfiguration
polecenie cmdlet kopiuje plik konfiguracji i zapisuje aktywną kopię pliku w podkatalogu$PSHOME
SessionConfig katalogu.Właściwość ConfigFilePath konfiguracji sesji zawiera w pełni kwalifikowaną ścieżkę pliku konfiguracji aktywnej sesji. Aktywny plik konfiguracji można zmodyfikować w katalogu w
$PSHOME
dowolnym momencie przy użyciu dowolnego edytora tekstów. Wprowadzone zmiany wpływają na wszystkie nowe sesje korzystające z konfiguracji sesji, ale nie istniejące sesje.Przed użyciem edytowanego pliku konfiguracji sesji użyj
Test-PSSessionConfigurationFile
polecenia cmdlet , aby sprawdzić, czy wpisy pliku konfiguracji są prawidłowe.