New-PSRoleCapabilityFile
Создает файл, определяющий набор возможностей, предоставляемых с помощью конфигурации сеанса.
Синтаксис
New-PSRoleCapabilityFile
[-Path] <String>
[-Guid <Guid>]
[-Author <String>]
[-Description <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-ModulesToImport <Object[]>]
[-VisibleAliases <String[]>]
[-VisibleCmdlets <Object[]>]
[-VisibleFunctions <Object[]>]
[-VisibleExternalCommands <String[]>]
[-VisibleProviders <String[]>]
[-ScriptsToProcess <String[]>]
[-AliasDefinitions <IDictionary[]>]
[-FunctionDefinitions <IDictionary[]>]
[-VariableDefinitions <Object>]
[-EnvironmentVariables <IDictionary>]
[-TypesToProcess <String[]>]
[-FormatsToProcess <String[]>]
[-AssembliesToLoad <String[]>]
[<CommonParameters>]
Описание
Командлет New-PSRoleCapabilityFile
создает файл, определяющий набор возможностей пользователя, которые могут быть предоставлены с помощью файлов конфигурации сеанса. Это включает в себя определение доступных пользователям командлетов, функций и сценариев. Файл возможностей — это удобочитаемый текстовый файл, содержащий хэш-таблицу свойств и значений конфигурации сеанса. Файл имеет расширение имени PSRC-файла и может использоваться несколькими конфигурациями сеанса.
Все параметры New-PSRoleCapabilityFile
являются необязательными, за исключением параметра Path , который указывает путь к файлу. Если при запуске командлета параметр не включен, соответствующий ключ в файле конфигурации сеанса закомментирован, за исключением того, где указано в описании параметра. Например, если параметр AssembliesToLoad не включен, этот раздел файла конфигурации сеанса закомментирован.
Чтобы использовать файл возможностей роли в конфигурации сеанса, сначала разместите файл в подпапке RoleCapabilities допустимой папки модуля PowerShell. Затем наведите ссылку на файл по имени в поле RoleDefinitions в файле конфигурации сеанса PowerShell (PSSC).
Этот командлет появился в Windows PowerShell 5.0.
Примеры
Пример 1. Создание пустого файла возможностей роли
В этом примере создается новый файл возможностей роли, использующий значения по умолчанию (пустые). Затем файл можно изменить в текстовом редакторе, чтобы изменить эти параметры конфигурации.
New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"
Пример 2. Создание файла возможностей роли, позволяющего пользователям перезапускать службы и любой компьютер VDI
В этом примере создается пример файла возможностей роли, который позволяет пользователям перезапускать службы и компьютеры, соответствующие определенному шаблону имен. Фильтрация имен определяется путем задания параметра ValidatePattern регулярному выражению VDI\d+
.
$roleParameters = @{
Path = ".\Maintenance.psrc"
Author = "User01"
CompanyName = "Fabrikam Corporation"
Description = "This role enables users to restart any service and restart any VDI computer."
ModulesToImport = "Microsoft.PowerShell.Core"
VisibleCmdlets = "Restart-Service", @{
Name = "Restart-Computer"
Parameters = @{ Name = "ComputerName"; ValidatePattern = "VDI\d+" }
}
}
New-PSRoleCapabilityFile @roleParameters
Параметры
-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: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Copyright
Указывает авторские права для файла возможностей роли. Если этот параметр не указан, New-PSRoleCapabilityFile
создается заявление об авторских правах с помощью значения параметра 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 |
-FormatsToProcess
Указывает файлы форматирования (.ps1xml
), которые выполняются в сеансах, использующих файл возможностей роли.
Значение этого параметра должно быть полным или абсолютным путем к файлам форматирования.
Тип: | String[] |
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 |
-Guid
Указывает уникальный идентификатор файла возможностей роли. Если этот параметр опущен, New-PSRoleCapabilityFile
создается GUID для файла. Чтобы создать новый GUID в PowerShell, введите [guid]::NewGuid()
.
Тип: | Guid |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ModulesToImport
Указывает модули, которые автоматически импортируются в сеансы, использующие файл возможностей роли. По умолчанию отображаются все команды в перечисленных модулях. При использовании с VisibleCmdlets или VisibleFunctions команды, видимые из указанных модулей, могут быть ограничены.
Каждый модуль, используемый в значении этого параметра, может быть представлен строкой или хэш-таблицей. Строка модуля состоит только из имени модуля. Хэш-таблица модуля может включать разделы ModuleName, ModuleVersion и GUID. Обязателен только раздел ModuleName.
Например, следующее значение состоит из строки и хэш-таблицы. Допустимо любое сочетание строк и хэш-таблиц в любом порядке.
"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}
Тип: | Object[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Задает путь и имя файла возможностей роли. Файл должен иметь .psrc
расширение имени файла.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ScriptsToProcess
Задает скрипты для добавления в сеансы, использующие файл возможностей роли. Введите путь и имена файлов сценариев. Значение этого параметра должно быть полным или абсолютным путем имен файлов скрипта.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TypesToProcess
Указывает файлы типов (.ps1xml
) для добавления в сеансы, использующие файл возможностей роли. Введите имена файлов типа. Значение этого параметра должно быть полным или абсолютным путем имен файлов типа.
Тип: | String[] |
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, и все псевдонимы, экспортируемые модулями, отображаются в сеансе.
Например, чтобы ограничить доступные псевдонимы gm и gcm, используйте следующий синтаксис: VisibleAliases="gcm", "gp"
Если любой видимый параметр включен в файл возможностей роли, PowerShell удаляет Import-Module
командлет и его ipmo
псевдоним из сеанса.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-VisibleCmdlets
Ограничивает командлеты в сеансе теми, которые указаны в значении этого параметра. Поддерживаются подстановочные знаки и имена квалифицированных модулей.
По умолчанию все командлеты, которые модули в экспорте сеанса отображаются в сеансе. Используйте параметры SessionType и ModulesToImport, чтобы определить, какие модули и оснастки импортируются в сеанс. Если модули в ModulesToImport не предоставляют командлет, New-PSRoleCapabilityFile
пытается загрузить соответствующий модуль.
Если любой видимый параметр включен в файл конфигурации сеанса, 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 |
Принять подстановочные знаки: | False |
-VisibleFunctions
Ограничивает функции в сеансе теми, которые указаны в значении этого параметра, а также все функции, определенные в параметре FunctionDefinitions . Поддерживаются подстановочные знаки.
По умолчанию все функции, экспортированные модулями в сеансе, отображаются в этом сеансе. Используйте параметры 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 |
Связанные ссылки
PowerShell