New-PSRoleCapabilityFile
Cria um arquivo que define um conjunto de recursos a serem expostos por meio de uma configuração de sessão.
Sintaxe
Default (Predefinição)
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>]
Description
O cmdlet New-PSRoleCapabilityFile cria um arquivo que define um conjunto de recursos do usuário que podem ser expostos por meio de arquivos de configuração de sessão. Isso inclui determinar quais cmdlets, funções e scripts estão disponíveis para os usuários. O arquivo de capacidade é um arquivo de texto legível por humanos que contém uma tabela de hash de propriedades e valores de configuração de sessão. O arquivo tem uma extensão de nome de arquivo .psrc e pode ser usado por mais de uma configuração de sessão.
Todos os parâmetros de são opcionais, exceto o parâmetro New-PSRoleCapabilityFile, que especifica o caminho do arquivo para o arquivo. Se você não incluir um parâmetro ao executar o cmdlet, a chave correspondente no arquivo de configuração da sessão será comentada, exceto onde anotado na descrição do parâmetro. Por exemplo, se você não incluir o parâmetro AssembliesToLoad , essa seção do arquivo de configuração de sessão será comentada.
Para usar o arquivo de capacidade de função em uma configuração de sessão, primeiro coloque o arquivo em uma subpasta RoleCapabilities de uma pasta de módulo válida do PowerShell. Em seguida, faça referência ao arquivo pelo nome no campo RoleDefinitions em um arquivo de Configuração de Sessão do PowerShell (.pssc).
Este cmdlet foi introduzido no Windows PowerShell 5.0.
Exemplos
Exemplo 1: Criar um arquivo de recurso de função em branco
Este exemplo cria um novo arquivo de capacidade de função que usa os valores padrão (em branco). O arquivo pode ser editado posteriormente em um editor de texto para alterar essas definições de configuração.
New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"
Exemplo 2: Criar um arquivo de capacidade de função permitindo que os usuários reiniciem serviços e qualquer computador VDI
Este exemplo cria um arquivo de recurso de função de exemplo que permite aos usuários reiniciar serviços e computadores que correspondem a um padrão de nome específico. A filtragem de nomes é definida definindo o parâmetro ValidatePattern para a expressão regular 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
Parâmetros
-AliasDefinitions
Adiciona os aliases especificados a sessões que usam o arquivo de capacidade de função. Insira uma tabela de hash com as seguintes chaves:
- Nome. Nome do alias. Esta chave é necessária.
- valor. O comando que o alias representa. Esta chave é necessária.
- Descrição. Uma cadeia de caracteres de texto que descreve o alias. Esta chave é opcional.
- Opções. Opções de alias. Esta chave é opcional. O valor padrão é None. Os valores aceitáveis para este parâmetro são: None, ReadOnly, Constant, Private ou AllScope.
Por exemplo: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}
Propriedades dos parâmetros
| Tipo: | IDictionary[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-AssembliesToLoad
Especifica os assemblies a serem carregados nas sessões que usam o arquivo de capacidade de função.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Author
Especifica o usuário que criou o arquivo de recurso de função.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-CompanyName
Identifica a empresa que criou o arquivo de capacidade de função. O valor padrão é Unknown.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Copyright
Especifica um direito autoral para o arquivo de recurso de função. Se você omitir esse parâmetro, New-PSRoleCapabilityFile gerará uma declaração de direitos autorais usando o valor do parâmetro Author.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Description
Especifica uma descrição para o arquivo de capacidade de função.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-EnvironmentVariables
Especifica as variáveis de ambiente para sessões que expõem esse arquivo de recurso de função. Insira uma tabela de hash na qual as chaves são os nomes das variáveis de ambiente e os valores são os valores das variáveis de ambiente.
Por exemplo: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}
Propriedades dos parâmetros
| Tipo: | IDictionary |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-FormatsToProcess
Especifica os arquivos de formatação (.ps1xml) que são executados em sessões que usam o arquivo de recurso de função. O valor desse parâmetro deve ser um caminho completo ou absoluto dos arquivos de formatação.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-FunctionDefinitions
Adiciona as funções especificadas a sessões que expõem a capacidade de função. Insira uma tabela de hash com as seguintes chaves:
- Nome. Nome da função. Esta chave é necessária.
- ScriptBlock. Corpo da função. Insira um bloco de script. Esta chave é necessária.
- Opções. Opções de função. Esta chave é opcional. O valor padrão é None. Os valores aceitáveis para este parâmetro são: são None, ReadOnly, Constant, Private ou AllScope.
Por exemplo:
@{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}
Propriedades dos parâmetros
| Tipo: | IDictionary[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Guid
Especifica um identificador exclusivo para o arquivo de capacidade de função. Se você omitir esse parâmetro, New-PSRoleCapabilityFile gerará um GUID para o arquivo. Para criar um novo GUID no PowerShell, digite [guid]::NewGuid().
Propriedades dos parâmetros
| Tipo: | Guid |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ModulesToImport
Especifica os módulos que são importados automaticamente para sessões que usam o arquivo de capacidade de função. Por padrão, todos os comandos nos módulos listados são visíveis. Quando usado com VisibleCmdlets ou VisibleFunctions, os comandos visíveis dos módulos especificados podem ser restritos.
Cada módulo usado no valor deste parâmetro pode ser representado por uma cadeia de caracteres ou por uma tabela de hash. Uma cadeia de caracteres de módulo consiste apenas no nome do módulo. Uma tabela de hash de módulo pode incluir ModuleName, ModuleVersione chaves de GUID. Apenas a chave ModuleName é necessária.
Por exemplo, o valor a seguir consiste em uma cadeia de caracteres e uma tabela de hash. Qualquer combinação de cadeias de caracteres e tabelas de hash, em qualquer ordem, é válida.
"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}
Propriedades dos parâmetros
| Tipo: | Object[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Path
Especifica o caminho e o nome do arquivo de recurso da função. O arquivo deve ter uma extensão de nome de arquivo .psrc.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ScriptsToProcess
Especifica scripts a serem adicionados a sessões que usam o arquivo de capacidade de função. Insira o caminho e os nomes de arquivo dos scripts. O valor desse parâmetro deve ser um caminho completo ou absoluto dos nomes de arquivo de script.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-TypesToProcess
Especifica arquivos de tipo (.ps1xml) para adicionar a sessões que usam o arquivo de capacidade de função. Insira os nomes dos arquivos do tipo. O valor desse parâmetro deve ser um caminho completo ou absoluto do tipo filenames.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-VariableDefinitions
Especifica variáveis a serem adicionadas a sessões que usam o arquivo de capacidade de função. Insira uma tabela de hash com as seguintes chaves:
- Nome. Nome da variável. Esta chave é necessária.
- valor. Valor da variável. Esta chave é necessária.
- Opções. Opções variáveis. Esta chave é opcional. O valor padrão é None. Os valores aceitáveis para este parâmetro são: são None, ReadOnly, Constant, Private ou AllScope.
Por exemplo: @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}
Propriedades dos parâmetros
| Tipo: | Object |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-VisibleAliases
Limita os aliases na sessão aos aliases especificados no valor desse parâmetro, além de quaisquer aliases definidos no parâmetro AliasDefinition. Caracteres curinga são suportados. Por padrão, todos os aliases definidos pelo mecanismo do PowerShell e todos os aliases exportados pelos módulos são visíveis na sessão.
Por exemplo, para limitar os aliases disponíveis a gm e gcm, use esta sintaxe: VisibleAliases="gcm", "gp"
Quando qualquer parâmetro Visible é incluído no arquivo de capacidade de função, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-VisibleCmdlets
Limita os cmdlets na sessão aos especificados no valor desse parâmetro. Há suporte para caracteres curinga e nomes qualificados de módulo.
Por padrão, todos os cmdlets que os módulos na sessão exportam são visíveis na sessão. Use os parâmetros SessionType e ModulesToImport para determinar quais módulos e snap-ins são importados para a sessão. Se nenhum módulo no ModulesToImport expor o cmdlet, New-PSRoleCapabilityFile tentará carregar o módulo apropriado.
Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.
Propriedades dos parâmetros
| Tipo: | Object[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-VisibleExternalCommands
Limita os binários, scripts e comandos externos que podem ser executados na sessão aos especificados no valor desse parâmetro.
Por padrão, nenhum comando externo é visível nesta sessão.
Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-VisibleFunctions
Limita as funções na sessão àquelas especificadas no valor desse parâmetro, além de quaisquer funções definidas no parâmetro FunctionDefinitions. Caracteres curinga são suportados.
Por padrão, todas as funções exportadas pelos módulos na sessão são visíveis nessa sessão. Use os parâmetros SessionType e ModulesToImport para determinar quais módulos são importados para a sessão.
Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.
Propriedades dos parâmetros
| Tipo: | Object[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-VisibleProviders
Limita os provedores do PowerShell na sessão aos especificados no valor desse parâmetro. Caracteres curinga são suportados.
Por padrão, todos os provedores exportados por um módulo na sessão são visíveis na sessão. Use os parâmetros SessionType e ModulesToImport para determinar quais módulos são importados para a sessão.
Quando qualquer parâmetro Visible é incluído no arquivo de configuração da sessão, o PowerShell remove o cmdlet Import-Module e seu alias ipmo da sessão.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.