New-PSSessionConfigurationFile
Создает файл, определяющий конфигурацию сеанса.
Синтаксис
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>]
Описание
Командлет New-PSSessionConfigurationFile
создает файл параметров, определяющих конфигурацию сеанса и среду сеансов, созданных с помощью конфигурации сеанса.
Чтобы использовать файл в конфигурации сеанса, используйте параметр пути командлетов Register-PSSessionConfiguration
или Set-PSSessionConfiguration
.
Файл конфигурации сеанса, который New-PSSessionConfigurationFile
создает, является текстовым файлом, который содержит хэш-таблицу свойств и значений конфигурации сеанса. Файл имеет расширение .pssc
имени файла.
Все параметры New-PSSessionConfigurationFile
являются необязательными, за исключением параметра пути.
Если параметр не указан, соответствующий ключ в файле конфигурации сеанса закомментирован, за исключением того, где указано в описании параметра.
Конфигурация сеанса, также известная как конечная точка, — это коллекция параметров на локальном компьютере, определяющих среду сеансов PowerShell (PSSessions), которые подключаются к компьютеру. Все PSSessions используют конфигурацию сеанса. Чтобы указать определенную конфигурацию сеанса, используйте параметр configurationName ConfigurationName командлетов, создающих сеанс, например командлет New-PSSession
.
Файл конфигурации сеанса упрощает определение конфигурации сеанса без сложных скриптов или сборок кода. Параметры в файле используются с необязательным скриптом запуска и любыми сборками в конфигурации сеанса.
Дополнительные сведения о конфигурациях сеансов и файлах конфигурации сеанса см. в about_Session_Configurations и about_Session_Configuration_Files.
Этот командлет появился в PowerShell 3.0. Начиная с PowerShell 6.0 этот командлет был доступен только на платформе Windows. PowerShell 7.3 сделал этот командлет доступным на всех поддерживаемых платформах.
Примеры
Пример 1. Создание и использование сеанса NoLanguage
В этом примере показано, как создать и эффекты использования сеанса без языка.
Ниже приведены действия.
- Создайте файл конфигурации.
- Зарегистрируйте конфигурацию.
- Создайте новый сеанс, использующий конфигурацию.
- Выполните команды в этом новом сеансе.
Чтобы выполнить команды в этом примере, запустите PowerShell с помощью параметра "Запуск от имени администратора". Этот параметр необходим для запуска командлета 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
В этом примере Invoke-Command
завершается ошибкой, так как LanguageMode имеет значение NoLanguage.
Пример 2. Создание и использование сеанса RestrictedLanguage
В этом примере показано, как создать и эффекты использования сеанса без языка.
Ниже приведены действия.
- Создайте файл конфигурации.
- Зарегистрируйте конфигурацию.
- Создайте новый сеанс, использующий конфигурацию.
- Выполните команды в этом новом сеансе.
Чтобы выполнить команды в этом примере, запустите PowerShell с помощью параметра "Запуск от имени администратора". Этот параметр необходим для запуска командлета 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
В этом примере Invoke-Command
завершается успешно, так как LanguageMode имеет значение RestrictedLanguage.
Пример 3. Изменение файла конфигурации сеанса
В этом примере показано, как изменить файл конфигурации сеанса, используемый в существующем сеансе с именем ITTasks. Ранее эти сеансы имели только основные модули и внутренние ИТ-tasks модуля. Администратор хочет добавить модуль PSScheduledJob в сеансы, созданные с помощью конфигурации сеанса ITTasks.
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
Командлет New-PSSessionConfigurationFile
для создания файла конфигурации сеанса, который импортирует необходимые модули. Командлет Set-PSSessionConfiguration
заменяет текущий файл конфигурации новым. Эта новая конфигурация влияет только на новые сеансы, созданные после изменения.
Существующие сеансы ITTasks не затрагиваются.
Пример 4. Изменение файла конфигурации сеанса
В этом примере показано, как изменить конфигурацию сеанса, изменив копию конфигурации активного сеанса файла конфигурации. Чтобы изменить копию конфигурации сеанса файла конфигурации, необходимо иметь полный доступ к файлу. Это может потребовать изменения разрешений в файле.
В этом сценарии мы хотим добавить новый псевдоним для командлета Select-String
, изменив активный файл конфигурации.
Приведенный ниже пример кода выполняет следующие действия, чтобы внести это изменение.
- Путь к файлу конфигурации для сеанса ITConfig.
- Пользователь изменяет файл конфигурации с помощью Notepad.exe для изменения значения AliasDefinitions следующим образом:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - Проверьте обновленный файл конфигурации.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
Используйте параметр подробных с Test-PSSessionConfigurationFile
для отображения обнаруженных ошибок. Командлет возвращает $True
, если в файле не обнаружены ошибки.
Пример 5. Создание примера файла конфигурации
В этом примере показана команда New-PSSessionConfigurationFile
, использующая все параметры командлета.
Он включается для отображения правильного формата входных данных для каждого параметра.
Результат sampleFile.pssc отображается в выходных данных.
$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'
}
Параметры
-AliasDefinitions
Добавляет указанные псевдонимы в сеансы, использующие конфигурацию сеанса. Введите хэш-таблицу со следующими ключами:
- Имя — имя псевдонима. Этот ключ является обязательным.
- Значение — команда, представляющая псевдоним. Этот ключ является обязательным.
- Описание — текстовая строка, описывающая псевдоним. Этот ключ является необязательным.
- Параметры — параметры псевдонима. Этот ключ является необязательным. Значение по умолчанию — None. Допустимые значения для этого параметра: None, ReadOnly, Constant, Private или AllScope.
Например, @{Name='hlp';Value='Get-Help';Description='Gets help';Options='ReadOnly'}
Тип: | IDictionary[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-AssembliesToLoad
Указывает сборки для загрузки в сеансы, использующие конфигурацию сеанса.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Author
Указывает автора конфигурации сеанса или файла конфигурации. По умолчанию используется текущий пользователь. Значение этого параметра отображается в файле конфигурации сеанса, но это не свойство объекта конфигурации сеанса.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-CompanyName
Указывает компанию, которая создала конфигурацию сеанса или файл конфигурации. Значение по умолчанию — Unknown. Значение этого параметра отображается в файле конфигурации сеанса, но это не свойство объекта конфигурации сеанса.
Тип: | String |
Position: | Named |
Default value: | Unknown |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Copyright
Указывает авторские права на файл конфигурации сеанса. Значение этого параметра отображается в файле конфигурации сеанса, но это не свойство объекта конфигурации сеанса.
Если этот параметр не указан, New-PSSessionConfigurationFile
создает заявление об авторских правах с помощью значения параметра Author.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Description
Указывает описание конфигурации сеанса или файла конфигурации сеанса. Значение этого параметра отображается в файле конфигурации сеанса, но это не свойство объекта конфигурации сеанса.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-EnvironmentVariables
Добавляет переменные среды в сеанс. Введите хэш-таблицу, в которой ключи являются именами переменных среды, а значения — значениями переменной среды.
Например, EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Тип: | IDictionary |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ExecutionPolicy
Указывает политику выполнения сеансов, использующих конфигурацию сеанса. Если этот параметр не указан, значение ключа ExecutionPolicy в файле конфигурации сеанса ограничено. Сведения о политиках выполнения в PowerShell см. в about_Execution_Policies.
Тип: | ExecutionPolicy |
Допустимые значения: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-FormatsToProcess
Указывает файлы форматирования (PS1xml), которые выполняются в сеансах, использующих конфигурацию сеанса. Значение этого параметра должно быть полным или абсолютным путем к файлам форматирования.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Full
Указывает, что эта операция включает все возможные свойства конфигурации в файле конфигурации сеанса.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-FunctionDefinitions
Добавляет указанные функции в сеансы, использующие конфигурацию сеанса. Введите хэш-таблицу со следующими ключами:
- Имя — имя функции. Этот ключ является обязательным.
- ScriptBlock — текст функции. Введите блок скрипта. Этот ключ является обязательным.
- Параметры — параметры функции. Этот ключ является необязательным. Значение по умолчанию — None. Допустимые значения для этого параметра: None, ReadOnly, Constant, Private или AllScope.
Например, @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
Тип: | IDictionary[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-GroupManagedServiceAccount
Настраивает сеансы с помощью этой конфигурации сеанса для запуска в контексте указанной управляемой учетной записи службы группы. Компьютер, на котором зарегистрирована конфигурация сеанса, должен иметь разрешение на запрос пароля gMSA для успешного создания сеансов. Это поле нельзя использовать с параметром RunAsVirtualAccount.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Guid
Указывает уникальный идентификатор файла конфигурации сеанса. Если этот параметр не указан, New-PSSessionConfigurationFile
создает GUID для файла. Чтобы создать новый GUID в PowerShell, введите New-Guid
.
Тип: | Guid |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-LanguageMode
Определяет, какие элементы языка PowerShell разрешены в сеансах, использующих эту конфигурацию сеанса. Этот параметр можно использовать для ограничения команд, которые могут выполнять определенные пользователи на компьютере.
Допустимые значения для этого параметра:
- FullLanguage — разрешены все элементы языка.
- ConstrainedLanguage — команды, содержащие скрипты для оценки, не допускаются. Режим ConstrainedLanguage ограничивает доступ пользователей к типам, объектам или методам Microsoft .NET Framework.
- NoLanguage — пользователи могут запускать командлеты и функции, но не могут использовать любые языковые элементы, такие как блоки скриптов, переменные или операторы.
- RestrictedLanguage — пользователи могут запускать командлеты и функции, но не могут использовать блоки скриптов или переменные, кроме следующих разрешенных переменных:
$PSCulture
,$PSUICulture
,$True
,$False
и$Null
. Пользователи могут использовать только базовые операторы сравнения (-eq
,-gt
,-lt
). Операторы назначения, ссылки на свойства и вызовы методов не допускаются.
Значение по умолчанию параметра LanguageMode зависит от значения параметра SessionType.
- Пустой — NoLanguage
- RestrictedRemoteServer — NoLanguage
- По умолчанию — FullLanguage
Тип: | PSLanguageMode |
Допустимые значения: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ModulesToImport
Указывает модули и оснастки, которые автоматически импортируются в сеансы, использующие конфигурацию сеанса.
По умолчанию в удаленные сеансы импортируются только оснастки Microsoft.PowerShell.Core, но если командлеты не исключены, пользователи могут использовать Import-Module
и Add-PSSnapin
командлеты для добавления модулей и оснастки в сеанс.
Каждый модуль или оснастка в значении этого параметра можно представить строкой или хэш-таблицей. Строка модуля состоит только из имени модуля или оснастки. Хэш-таблица модуля может включать имя модуля, ModuleVersionи ключи GUID . Требуется только ключ ModuleName.
Например, следующее значение состоит из строки и хэш-таблицы. Любое сочетание строк и хэш-таблиц в любом порядке является допустимым.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
Значение параметра ModulesToImport командлета Register-PSSessionConfiguration
имеет приоритет над значением ключа ModulesToImport в файле конфигурации сеанса.
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-MountUserDrive
Настраивает сеансы, использующие эту конфигурацию сеанса для предоставления User:
PSDrive. Диски пользователей уникальны для каждого подключающегося пользователя и позволяют пользователям копировать данные в конечные точки PowerShell и из них, даже если поставщик файловой системы не предоставляется. Корни дисков пользователей создаются в $env:LOCALAPPDATA\Microsoft\PowerShell\DriveRoots\
. Для каждого пользователя, подключающегося к конечной точке, создается папка с именем $env:USERDOMAIN\$env:USERNAME
. Для компьютеров в рабочих группах значением $env:USERDOMAIN
является имя узла.
Содержимое на диске пользователя сохраняется в сеансах пользователей и не удаляется автоматически. По умолчанию пользователи могут хранить только до 50 МБ данных на диске пользователя. Это можно настроить с помощью параметра UserDriveMaximumSize.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Указывает путь и имя файла конфигурации сеанса. Файл должен иметь расширение .pssc
имени файла.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PowerShellVersion
Указывает версию подсистемы PowerShell в сеансах, использующих конфигурацию сеанса. Допустимые значения для этого параметра: 2.0 и 3.0. Если этот параметр не указан, ключ PowerShellVersion закомментирован, а последняя версия PowerShell выполняется в сеансе.
Значение параметра PSVersion командлета Register-PSSessionConfiguration
имеет приоритет над значением ключа PowerShellVersion в файле конфигурации сеанса.
Тип: | Version |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RequiredGroups
Задает правила условного доступа для пользователей, подключающихся к сеансам, которые используют эту конфигурацию сеанса.
Введите хэш-файл, чтобы создать список правил, используя только 1 ключ для хэш-файла, "And" или "Or", и задайте для него массив имен групп безопасности или дополнительных хэш-списков.
Пример, требующий подключения пользователей к одной группе: @{ And = 'MyRequiredGroup' }
Пример, требующий, чтобы пользователи принадлежали к группе A или группам B и C, чтобы получить доступ к конечной точке: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }
Тип: | IDictionary |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RoleDefinitions
Задает сопоставление между группами безопасности (или пользователями) и возможностями ролей. Пользователи получат доступ ко всем возможностям ролей, которые применяются к членству в группах во время создания сеанса.
Введите хэш-таблицу, в которой ключи являются именем группы безопасности, а значения — хэш-таблицы, содержащие список возможностей ролей, которые должны быть доступны группе безопасности.
Например, @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}
Тип: | IDictionary |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RunAsVirtualAccount
Настраивает сеансы с помощью этой конфигурации сеанса для запуска в качестве учетной записи администратора компьютера (виртуальной). Это поле нельзя использовать с параметром GroupManagedServiceAccount.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RunAsVirtualAccountGroups
Указывает группы безопасности, связанные с виртуальной учетной записью, когда сеанс, использующий конфигурацию сеанса, запускается как виртуальная учетная запись. Если не указано, виртуальная учетная запись принадлежит администраторам домена на контроллерах домена и администраторах на всех остальных компьютерах.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SchemaVersion
Указывает версию схемы файла конфигурации сеанса. Значение по умолчанию — 1.0.0.0.
Тип: | Version |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ScriptsToProcess
Добавляет указанные скрипты в сеансы, использующие конфигурацию сеанса. Введите путь и имена файлов скриптов. Значение этого параметра должно быть полным или абсолютным путем имен файлов скрипта.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SessionType
Указывает тип сеанса, созданного с помощью конфигурации сеанса. Значение по умолчанию — Default. Допустимые значения для этого параметра:
- Пустое — модули по умолчанию не добавляются в сеанс. Используйте параметры этого командлета для добавления модулей, функций, скриптов и других функций в сеанс. Этот параметр предназначен для создания пользовательских сеансов путем добавления выбранных команд. Если команды не добавляются в пустой сеанс, сеанс ограничен выражениями и может быть недоступен.
- По умолчанию — добавляет модуль Microsoft.PowerShell.Core в сеанс. Этот модуль включает командлет
Import-Module
, который пользователи могут использовать для импорта других модулей, если этот командлет явно не запрещен. - RestrictedRemoteServer. Включает только следующие функции прокси-сервера:
Exit-PSSession
,Get-Command
,Get-FormatData
,Get-Help
,Measure-Object
,Out-Default
иSelect-Object
. Используйте параметры этого командлета для добавления модулей, функций, скриптов и других функций в сеанс.
Тип: | SessionType |
Допустимые значения: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TranscriptDirectory
Указывает каталог для размещения расшифровок сеансов для сеансов с помощью этой конфигурации сеанса.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TypesToProcess
Добавляет указанные файлы типа .ps1xml
в сеансы, использующие конфигурацию сеанса. Введите имена файлов типа. Значение этого параметра должно быть полным или абсолютным путем к имени файла типа.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-UserDriveMaximumSize
Задает максимальный размер дисков пользователей, предоставляемых в сеансах, использующих эту конфигурацию сеанса.
Если опущено, размер каждого корневого диска User:
по умолчанию составляет 50 МБ.
Этот параметр следует использовать с MountUserDrive.
Тип: | Int64 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VariableDefinitions
Добавляет указанные переменные в сеансы, использующие конфигурацию сеанса. Введите хэш-таблицу со следующими ключами:
- Имя — имя переменной. Этот ключ является обязательным.
- Значение — переменное значение. Этот ключ является обязательным.
Например, @{Name='WarningPreference';Value='SilentlyContinue'}
Тип: | Object |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-VisibleAliases
Ограничивает псевдонимы в сеансе теми, которые указаны в значении этого параметра, а также все псевдонимы, определенные в параметре AliasDefinition. Поддерживаются подстановочные знаки. По умолчанию все псевдонимы, определенные подсистемой PowerShell, и все псевдонимы, экспортируемые модулями, отображаются в сеансе.
Например, VisibleAliases='gcm', 'gp'
Если любой видимый параметр включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module
и его псевдоним ipmo из сеанса.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleCmdlets
Ограничивает командлеты в сеансе теми, которые указаны в значении этого параметра. Поддерживаются подстановочные знаки и имена квалифицированных модулей.
По умолчанию все командлеты, которые модули в экспорте сеанса отображаются в сеансе. Используйте параметры SessionType и modulesToIm port, чтобы определить, какие модули и оснастки импортируются в сеанс. Если модули в модуле ModulesToImport предоставить командлет, соответствующий модуль попытается загрузиться автоматически.
Если любой видимый параметр включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module
и его псевдоним ipmo из сеанса.
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleExternalCommands
Ограничивает внешние двоичные файлы, скрипты и команды, которые могут выполняться в сеансе, указанным в значении этого параметра. Поддерживаются подстановочные знаки.
По умолчанию внешние команды не отображаются в сеансе.
Если любой параметр Visible включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module
и его псевдоним ipmo из сеанса.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleFunctions
Ограничивает функции в сеансе теми, которые указаны в значении этого параметра, а также все функции, определенные в параметре FunctionDefinition. Поддерживаются подстановочные знаки.
По умолчанию все функции, которые модули в экспорте сеанса отображаются в сеансе. Используйте параметры SessionType и modulesToIm port, чтобы определить, какие модули и оснастки импортируются в сеанс.
Если любой видимый параметр включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module
и его псевдоним ipmo из сеанса.
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleProviders
Ограничивает поставщиков PowerShell в сеансе теми, которые указаны в значении этого параметра. Поддерживаются подстановочные знаки.
По умолчанию все поставщики, которые модули в экспорте сеанса отображаются в сеансе. Используйте параметры SessionType и ModulesToImport, чтобы определить, какие модули импортируются в сеанс.
Если любой параметр Visible включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module
и его ipmo
псевдоним из сеанса.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
Такие параметры, как VisibleCmdlets и VisibleProviders, не импортируют элементы в сеанс. Вместо этого они выбирают из элементов, импортированных в сеанс. Например, если значение параметра VisibleProviders является поставщиком сертификатов, но параметр ModulesToImport не указывает модуль Microsoft.PowerShell.Security, содержащий поставщика сертификатов, поставщик сертификатов не отображается в сеансе.
New-PSSessionConfigurationFile
создает файл конфигурации сеанса с расширением имени pssc-файла в пути, заданном в параметре Path. При использовании файла конфигурации сеанса для создания конфигурации сеанса командлетRegister-PSSessionConfiguration
копирует файл конфигурации и сохраняет активную копию файла в подкаталоге SessionConfig каталога$PSHOME
.Свойство ConfigFilePath конфигурации сеанса содержит полный путь к файлу конфигурации активного сеанса. Активный файл конфигурации можно изменить в каталоге
$PSHOME
в любое время с помощью любого текстового редактора. Внесенные изменения влияют на все новые сеансы, использующие конфигурацию сеанса, но не имеющиеся.Прежде чем использовать измененный файл конфигурации сеанса, используйте командлет
Test-PSSessionConfigurationFile
, чтобы убедиться, что записи файла конфигурации действительны.
Связанные ссылки
PowerShell