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
создает файл параметров, определяющих конфигурацию сеанса и среду сеансов, созданных с помощью конфигурации сеанса.
Чтобы использовать файл в конфигурации сеанса, используйте параметр Path для Register-PSSessionConfiguration
командлетов или Set-PSSessionConfiguration
командлетов.
Файл конфигурации сеанса, New-PSSessionConfigurationFile
который создает, является текстовым файлом, который содержит хэш-таблицу свойств и значений конфигурации сеанса. Файл имеет .pssc
расширение имени файла.
Все параметры являются необязательными New-PSSessionConfigurationFile
, за исключением параметра Path .
Если параметр пропущен, соответствующий ключ в файле конфигурации сеанса преобразуется в комментарий (за исключением указанных в описании параметра).
Конфигурация сеанса, также известная как конечная точка, — это коллекция параметров на локальном компьютере, определяющих среду для сеансов PowerShell (PSSessions), которые подключаются к компьютеру. Все psSessions используют конфигурацию сеанса. Чтобы указать определенную конфигурацию сеанса, используйте параметр 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. Ранее эти сеансы имели только основные модули и внутренний модуль ITTasks . Администратор хочет добавить модуль 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
и командлеты для добавления модулей и оснастки в сеанс.
Каждый модуль или оснастка в значении этого параметра может быть представлен в виде строки или хэш-таблицы. Строка модуля состоит из имени модуля или оснастки. Хэш-таблица модуля может включать разделы ModuleName, ModuleVersion и GUID. Обязателен только раздел ModuleName.
Например, следующее значение состоит из строки и хэш-таблицы. Допустимо любое сочетание строк и хэш-таблиц в любом порядке.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
Значение параметра Register-PSSessionConfiguration
ModulesToImport командлета имеет приоритет над значением ключа 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 выполняется в сеансе.
Значение параметра Register-PSSessionConfiguration
PSVersion командлета имеет приоритет над значением ключа 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 и ModulesToImport, чтобы определить, какие модули и оснастки импортируются в сеанс. Если модули в ModulesToImport не предоставляют командлет, соответствующий модуль попытается выполнить автоматическую загрузку.
Если любой видимый параметр включен в файл конфигурации сеанса, PowerShell удаляет Import-Module
командлет и его псевдоним ipmo из сеанса.
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleExternalCommands
Ограничивает внешние двоичные файлы, скрипты и команды, которые могут выполняться в сеансе, указанным в значении этого параметра. Поддерживаются подстановочные знаки.
По умолчанию внешние команды не отображаются в сеансе.
Если любой видимый параметр включен в файл конфигурации сеанса, PowerShell удаляет Import-Module
командлет и его псевдоним ipmo из сеанса.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleFunctions
Ограничивает функции в сеансе теми, которые указаны в значении этого параметра, а также всеми функциями, определенными в параметре FunctionDefinition. Поддерживаются подстановочные знаки.
По умолчанию все функции, экспортируемые модулями в сеансе, отображаются в сеансе. Используйте параметры SessionType и ModulesToImport, чтобы определить, какие модули и оснастки импортируются в сеанс.
Если любой видимый параметр включен в файл конфигурации сеанса, PowerShell удаляет Import-Module
командлет и его псевдоним ipmo из сеанса.
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleProviders
Ограничивает поставщиков PowerShell в сеансе теми, которые указаны в значении этого параметра. Поддерживаются подстановочные знаки.
По умолчанию все поставщики, экспортируемые модулями в сеансе, отображаются в сеансе. Используйте параметры SessionType и ModulesToImport, чтобы определить, какие модули импортируются в сеанс.
Если любой видимый параметр включен в файл конфигурации сеанса, 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
и сохраняет активную копию файла в подкаталоге$PSHOME
SessionConfig каталога.Свойство ConfigFilePath конфигурации сеанса содержит полный путь к файлу конфигурации активного сеанса. Активный файл конфигурации в каталоге можно изменить в
$PSHOME
любое время с помощью любого текстового редактора. Внесенные изменения влияют на все новые сеансы, которые используют конфигурацию сеанса, но не на текущие сеансы.Перед использованием измененного файла конфигурации сеанса используйте
Test-PSSessionConfigurationFile
командлет, чтобы убедиться, что записи файла конфигурации допустимы.
Связанные ссылки
PowerShell