New-PSSessionConfigurationFile
Tworzy plik, który definiuje konfigurację sesji.
Składnia
Default (domyślnie)
New-PSSessionConfigurationFile
[-Path] <String>
[-SchemaVersion <Version>]
[-Guid <Guid>]
[-Author <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-Description <String>]
[-PowerShellVersion <Version>]
[-SessionType <SessionType>]
[-ModulesToImport <Object[]>]
[-AssembliesToLoad <String[]>]
[-VisibleAliases <String[]>]
[-VisibleCmdlets <String[]>]
[-VisibleFunctions <String[]>]
[-VisibleProviders <String[]>]
[-AliasDefinitions <Hashtable[]>]
[-FunctionDefinitions <Hashtable[]>]
[-VariableDefinitions <Object>]
[-EnvironmentVariables <Object>]
[-TypesToProcess <String[]>]
[-FormatsToProcess <String[]>]
[-LanguageMode <PSLanguageMode>]
[-ExecutionPolicy <ExecutionPolicy>]
[-ScriptsToProcess <String[]>]
[<CommonParameters>]
Opis
Polecenie cmdlet New-PSSessionConfigurationFile tworzy plik ustawień definiujących konfigurację sesji i środowisko sesji tworzonych przy użyciu konfiguracji sesji.
Aby użyć pliku w konfiguracji sesji, użyj parametru path poleceń cmdlet Register-PSSessionConfiguration lub Set-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 rozszerzenie nazwy pliku .pssc.
Wszystkie parametry New-PSSessionConfigurationFile są 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órych został zanotowany w opisie parametru.
Konfiguracja sesji, znana również jako punkt końcowy, jest kolekcją ustawień na komputerze lokalnym, które definiują środowisko sesji programu PowerShell (PSSessions), które łączą się z komputerem. Wszystkie PSSessions używają konfiguracji sesji. Aby określić określoną konfigurację sesji, użyj parametru ConfigurationName poleceń cmdlet, które tworzą sesję, na przykład New-PSSession polecenia cmdlet.
Plik konfiguracji sesji ułatwia zdefiniowanie 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.
Ten cmdlet został wprowadzony 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 obejmują:
- Utwórz nowy plik konfiguracji.
- Zarejestruj konfigurację.
- Utwórz nową sesję korzystającą 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 do uruchomienia polecenia cmdlet Register-PSSessionConfiguration.
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguage -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 Invoke-Command kończy się niepowodzeniem, ponieważ LanguageMode jest ustawiona na wartość 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 obejmują:
- Utwórz nowy plik konfiguracji.
- Zarejestruj konfigurację.
- Utwórz nową sesję korzystającą 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 do uruchomienia polecenia cmdlet Register-PSSessionConfiguration.
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode RestrictedLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name RestrictedLanguage -Force
$NoLanguage = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
Invoke-Command -Session $NoLanguage -ScriptBlock { if ((Get-Date) -lt '1January2099') {'Before'} else {'After'} }
Before
W tym przykładzie Invoke-Command kończy się powodzeniem, ponieważ LanguageMode jest ustawiona na 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 cmdlet New-PSSessionConfigurationFile do utworzenia pliku konfiguracji sesji, który importuje wymagane moduły. Polecenie cmdlet Set-PSSessionConfiguration zastępuje bieżący plik konfiguracji nowym. Ta nowa konfiguracja ma wpływ 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 chcemy dodać nowy alias dla polecenia cmdlet Select-String, 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 $True, jeśli w pliku nie zostaną wykryte żadne błędy.
Przykład 5. Tworzenie przykładowego pliku konfiguracji
W tym przykładzie pokazano polecenie New-PSSessionConfigurationFile, które używa wszystkich parametrów polecenia cmdlet.
Uwzględniany jest prawidłowy format danych wejściowych 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'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc
@{
# Version number of the schema used for this configuration file
SchemaVersion = '1.0.0.0'
# ID used to uniquely identify this session configuration
GUID = 'f7039ffa-7e54-4382-b358-a393c75c30d3'
# Specifies the execution policy for this session configuration
ExecutionPolicy = 'AllSigned'
# Specifies the language mode for this session configuration
LanguageMode = 'FullLanguage'
# Initial state of this session configuration
SessionType = 'Default'
# Environment variables defined in this session configuration
EnvironmentVariables = @{
TESTSHARE='\\Test2\Test'
}
# Author of this session configuration
Author = 'User01'
# Company associated with this session configuration
CompanyName = 'Fabrikam Corporation'
# Copyright statement for this session configuration
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
# Description of the functionality provided by this session configuration
Description = 'This is a sample file.'
# Version of the PowerShell engine used by this session configuration
PowerShellVersion = '3.0'
# Modules that will be imported
ModulesToImport = @{
ModuleVersion='1.0.0.0'
ModuleName='PSScheduledJob'
GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
}, 'PSDiagnostics'
# Assemblies that will be loaded in this session configuration
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'
# Aliases visible in this session configuration
VisibleAliases = 'c*', 'g*', 'i*', 's*'
# Cmdlets visible in this session configuration
VisibleCmdlets = 'Get*'
# Functions visible in this session configuration
VisibleFunctions = 'Get*'
# Providers visible in this session configuration
VisibleProviders = 'FileSystem', 'Function', 'Variable'
# Aliases defined in this session configuration
AliasDefinitions = @(
@{
Description='Gets help.'
Name='hlp'
Options='AllScope'
Value='Get-Help'
},
@{
Description='Updates help'
Name='Update'
Options='ReadOnly'
Value='Update-Help'
}
)
# Functions defined in this session configuration
FunctionDefinitions = @(
@{
Name='Get-Function'
Options='ReadOnly'
ScriptBlock={Get-Command -CommandType Function}
}
)
# Variables defined in this session configuration
VariableDefinitions = @(
@{
Value='SilentlyContinue'
Name='WarningPreference'
# Type files (.ps1xml) that will be loaded in this session configuration
TypesToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Types1.ps1xml', 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Types2.ps1xml'
# Format files (.ps1xml) that will be loaded in this session configuration
FormatsToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\CustomFormats.ps1xml'
# Specifies the scripts to execute after the session is configured
ScriptsToProcess = 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Get-Inputs.ps1'
}
W tym przykładzie jest wyświetlane polecenie New-PSSessionConfigurationFile , które używa wszystkich parametrów polecenia cmdlet. Uwzględniany jest prawidłowy format danych wejściowych dla każdego parametru.
Wynikowy plik SampleFile.pssc jest wyświetlany w danych wyjściowych.
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.
Przykład: @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}
Właściwości parametru
| Typ: | Hashtable[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-AssembliesToLoad
Określa zestawy, które mają być ładowane do sesji korzystających z konfiguracji sesji.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Author
Określa autora konfiguracji sesji lub pliku konfiguracji. Wartość domyślna to bieżący użytkownik. Wartość tego parametru jest widoczna w pliku konfiguracji sesji, ale nie jest właściwością obiektu konfiguracji sesji.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-CompanyName
Określa firmę, która utworzyła konfigurację sesji lub plik konfiguracji. Wartość domyślna to Unknown. Wartość tego parametru jest widoczna w pliku konfiguracji sesji, ale nie jest właściwością obiektu konfiguracji sesji.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | Unknown |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 generuje oświadczenie o prawach autorskich przy użyciu wartości parametru Author.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Przykład: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Właściwości parametru
| Typ: | Object |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ExecutionPolicy
Określa zasady wykonywania sesji korzystających z konfiguracji sesji. Jeśli ten parametr zostanie pominięty, wartość klucza ExecutionPolicy w pliku konfiguracji sesji jest z ograniczeniami . Aby uzyskać informacje o zasadach wykonywania w programie PowerShell, zobacz about_Execution_Policies.
Właściwości parametru
| Typ: | ExecutionPolicy |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Przykład: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
Właściwości parametru
| Typ: | Hashtable[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | Guid |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 mogą być uruchamiane przez konkretnych użytkowników na komputerze.
Dopuszczalne wartości tego parametru to:
- FullLanguage — dozwolone są wszystkie elementy języka.
- ConstrainedLanguage — polecenia zawierające skrypty do oceny nie są dozwolone. Tryb ConstrainedLanguage ogranicza dostęp użytkowników do typów, obiektów lub metod programu Microsoft .NET Framework.
- NoLanguage — użytkownicy mogą uruchamiać polecenia cmdlet i funkcje, ale nie mogą używać żadnych elementów języka, 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,$Falsei$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.
- Empty — NoLanguage
- RestrictedRemoteServer — NoLanguage
- Ustawienie domyślne — FullLanguage
Właściwości parametru
| Typ: | PSLanguageMode |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 chyba że polecenia cmdlet są wykluczone, użytkownicy mogą używać Import-Module i Add-PSSnapin poleceń cmdlet do dodawania modułów i przystawek do sesji.
Każdy moduł lub przystawka w wartości tego parametru może być reprezentowana 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ć ModuleName, ModuleVersioni identyfikator GUID kluczy. Wymagany jest tylko klucz ModuleName.
Na przykład następująca wartość składa się z ciągu i tabeli skrótów. Dowolna 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 ModulesToImport polecenia cmdlet Register-PSSessionConfiguration ma pierwszeństwo przed wartością klucza ModulesToImport w pliku konfiguracji sesji.
Właściwości parametru
| Typ: | Object[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Określa ścieżkę i nazwę pliku konfiguracji sesji. Plik musi mieć rozszerzenie nazwy pliku .pssc.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 PSVersion polecenia cmdlet Register-PSSessionConfiguration ma pierwszeństwo przed wartością klucza PowerShellVersion w pliku konfiguracji sesji.
Właściwości parametru
| Typ: | Version |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-SchemaVersion
Określa wersję schematu pliku konfiguracji sesji. Wartość domyślna to "1.0.0.0".
Właściwości parametru
| Typ: | Version |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-SessionType
Określa typ sesji, który jest tworzony przy użyciu konfiguracji sesji. Wartość domyślna to Default. Dopuszczalne wartości 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.
- Ustawienie domyślne — dodaje moduł Microsoft.PowerShell.Core do sesji. Ten moduł zawiera
Import-Modulepolecenia cmdlet, którego użytkownicy mogą używać do importowania innych modułów, chyba że jawnie zabronisz tego polecenia cmdlet. - Serwer zdalny. Obejmuje tylko następujące funkcje serwera proxy:
Exit-PSSession,Get-Command,Get-FormatData,Get-Help,Measure-Object,Out-DefaultiSelect-Object. Użyj parametrów tego polecenia cmdlet, aby dodać moduły, funkcje, skrypty i inne funkcje do sesji.
Właściwości parametru
| Typ: | SessionType |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | Empty, RestrictedRemoteServer, Default |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-TypesToProcess
Dodaje określone pliki typu .ps1xml 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.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
- Wartość — wartość zmiennej. Ten klucz jest wymagany.
- Opcje - Opcje zmienne. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.
Przykład: @{Name='WarningPreference';Value='SilentlyContinue';Options='AllScope'}
Właściwości parametru
| Typ: | Object |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-VisibleAliases
Ogranicza aliasy w sesji do tych określonych w wartości tego parametru, a także wszelkie aliasy zdefiniowane w AliasDefinition parametru. 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.
Przykład: VisibleAliases='gcm', 'gp'
Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-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 żadne moduły w ModulesToImport uwidocznią polecenie cmdlet, odpowiedni moduł podejmie próbę automatycznego załadowania.
Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-VisibleFunctions
Ogranicza funkcje w sesji do tych określonych w wartości tego parametru, a także wszystkie funkcje zdefiniowane 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.
Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-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 polecenie cmdlet Import-Module i jego alias ipmo z sesji.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przesyłać żadnych obiektów do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie generuje żadnych danych wyjściowych.
Uwagi
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ą certyfikatów, ale parametr ModulesToImport nie określa modułu Microsoft.PowerShell.Security, który zawiera dostawcę certyfikatów, dostawca certyfikatów nie jest widoczny w sesji.
New-PSSessionConfigurationFiletworzy plik konfiguracji sesji z rozszerzeniem nazwy pliku pssc w ścieżce określonej w parametrze ścieżka. Gdy używasz pliku konfiguracji sesji do utworzenia konfiguracji sesji, polecenie cmdletRegister-PSSessionConfigurationkopiuje plik konfiguracji i zapisuje aktywną kopię pliku w podkatalogu SessionConfig katalogu$PSHOME.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
$PSHOMEw dowolnym momencie przy użyciu dowolnego edytora tekstów. Wprowadzone zmiany dotyczą wszystkich nowych sesji korzystających z konfiguracji sesji, ale nie istniejących sesji.Przed użyciem edytowanego pliku konfiguracji sesji użyj polecenia cmdlet
Test-PSSessionConfigurationFile, aby sprawdzić, czy wpisy pliku konfiguracji są prawidłowe.
Linki powiązane
- Wyłącz-PSSessionConfiguration
- Włącz-PSSessionConfiguration
- Get-PSSessionConfiguration
- Rejestracja konfiguracji sesji PowerShell (`Register-PSSessionConfiguration`)
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- Dostawca programu WSMan
- o_konfiguracjach_sesji
- o_Plikach_Konfiguracji_Sesji