Поделиться через


New-PSRoleCapabilityFile

Создает файл, определяющий набор возможностей, предоставляемых с помощью конфигурации сеанса.

Синтаксис

Default (По умолчанию)

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 являются необязательными, кроме параметра пути, который задает путь к файлу. Если при запуске командлета параметр не включен, соответствующий ключ в файле конфигурации сеанса закомментирован, за исключением того, где указано в описании параметра. Например, если вы не включаете параметр 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[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-AssembliesToLoad

Указывает сборки для загрузки в сеансы, использующие файл возможностей роли.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Author

Указывает пользователя, создавшего файл возможностей роли.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CompanyName

Определяет компанию, которая создала файл возможностей роли. Значение по умолчанию — Unknown.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

Указывает авторские права для файла возможностей роли. Если этот параметр не указан, New-PSRoleCapabilityFile создает заявление об авторских правах, используя значение параметра Author.

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Description

Указывает описание файла возможностей роли.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-EnvironmentVariables

Указывает переменные среды для сеансов, предоставляющих этот файл возможностей роли. Введите хэш-таблицу, в которой ключи являются именами переменных среды, а значения — значениями переменной среды.

Например: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Свойства параметров

Тип:IDictionary
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FormatsToProcess

Указывает файлы форматирования (.ps1xml), которые выполняются в сеансах, использующих файл возможностей роли. Значение этого параметра должно быть полным или абсолютным путем к файлам форматирования.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FunctionDefinitions

Добавляет указанные функции в сеансы, предоставляющие возможность роли. Введите хэш-таблицу со следующими ключами:

  • Имя. Имя функции. Этот ключ является обязательным.
  • СкриптБлок. Тело функции. Введите блок скрипта. Этот ключ является обязательным.
  • Параметры. Параметры функции. Этот ключ является необязательным. Значение по умолчанию — None. Допустимые значения для этого параметра: None, ReadOnly, Constant, Private или AllScope.

Рассмотрим пример.

@{Name="Get-PowerShellProcess";ScriptBlock={Get-Process powershell};Options="AllScope"}

Свойства параметров

Тип:

IDictionary[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Guid

Указывает уникальный идентификатор файла возможностей роли. Если этот параметр не указан, New-PSRoleCapabilityFile создает GUID для файла. Чтобы создать новый GUID в PowerShell, введите [guid]::NewGuid().

Свойства параметров

Тип:Guid
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ModulesToImport

Указывает модули, которые автоматически импортируются в сеансы, использующие файл возможностей роли. По умолчанию отображаются все команды в перечисленных модулях. При использовании с VisibleCmdlets или VisibleFunctionsкоманды, видимые из указанных модулей, могут быть ограничены.

Каждый модуль, используемый в значении этого параметра, может быть представлен строкой или хэш-таблицей. Строка модуля состоит только из имени модуля. Хэш-таблица модуля может включать имя модуля, ModuleVersionи ключи GUID . Требуется только ключ ModuleName.

Например, следующее значение состоит из строки и хэш-таблицы. Любое сочетание строк и хэш-таблиц в любом порядке является допустимым.

"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}

Свойства параметров

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Задает путь и имя файла возможностей роли. Файл должен иметь расширение .psrc имени файла.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ScriptsToProcess

Задает скрипты для добавления в сеансы, использующие файл возможностей роли. Введите путь и имена файлов скриптов. Значение этого параметра должно быть полным или абсолютным путем имен файлов скрипта.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-TypesToProcess

Указывает файлы типов (.ps1xml) для добавления в сеансы, использующие файл возможностей роли. Введите имена файлов типа. Значение этого параметра должно быть полным или абсолютным путем имен файлов типа.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VariableDefinitions

Указывает переменные для добавления в сеансы, использующие файл возможностей роли. Введите хэш-таблицу со следующими ключами:

  • Имя. Имя переменной. Этот ключ является обязательным.
  • Ценность. Значение переменной. Этот ключ является обязательным.

Например: @{Name="WarningPreference";Value="SilentlyContinue"}

Свойства параметров

Тип:Object
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VisibleAliases

Ограничивает псевдонимы в сеансе этими псевдонимами, указанными в значении этого параметра, а также все псевдонимы, определенные в параметре AliasDefinition. Поддерживаются подстановочные знаки. По умолчанию все псевдонимы, определенные подсистемой PowerShell, и все псевдонимы, экспортируемые модулями, отображаются в сеансе.

Например, чтобы ограничить доступные псевдонимы gm и gcm, используйте этот синтаксис: VisibleAliases="gcm", "gp"

Если любой параметр Visible включен в файл возможностей роли, PowerShell удаляет командлет Import-Module и его псевдоним ipmo из сеанса.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VisibleCmdlets

Ограничивает командлеты в сеансе теми, которые указаны в значении этого параметра. Поддерживаются подстановочные знаки и имена квалифицированных модулей.

По умолчанию все командлеты, которые модули в экспорте сеанса отображаются в сеансе. Используйте параметры SessionType и modulesToIm port, чтобы определить, какие модули и оснастки импортируются в сеанс. Если модули в ModulesToImport не предоставляют командлет, New-PSRoleCapabilityFile пытается загрузить соответствующий модуль.

Если любой параметр Visible включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module и его ipmo псевдоним из сеанса.

Свойства параметров

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VisibleExternalCommands

Ограничивает внешние двоичные файлы, скрипты и команды, которые могут выполняться в сеансе, тем, которые указаны в значении этого параметра.

По умолчанию внешние команды не отображаются в этом сеансе.

Если любой параметр Visible включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module и его ipmo псевдоним из сеанса.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VisibleFunctions

Ограничивает функции в сеансе теми, которые указаны в значении этого параметра, а также все функции, определенные в параметре FunctionDefinitions. Поддерживаются подстановочные знаки.

По умолчанию все функции, экспортированные модулями в сеансе, отображаются в этом сеансе. Используйте параметры SessionType и ModulesToImport, чтобы определить, какие модули импортируются в сеанс.

Если любой параметр Visible включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module и его ipmo псевдоним из сеанса.

Свойства параметров

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VisibleProviders

Ограничивает поставщиков PowerShell в сеансе теми, которые указаны в значении этого параметра. Поддерживаются подстановочные знаки.

По умолчанию все поставщики, экспортированные модулем в сеансе, отображаются в сеансе. Используйте параметры SessionType и ModulesToImport, чтобы определить, какие модули импортируются в сеанс.

Если любой параметр Visible включен в файл конфигурации сеанса, PowerShell удаляет командлет Import-Module и его ipmo псевдоним из сеанса.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.