Compartir a través de


New-PSRoleCapabilityFile

Crea un archivo que define un conjunto de funcionalidades que se van a exponer a través de una configuración de sesión.

Sintaxis

Default (valor predeterminado)

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

El cmdlet New-PSRoleCapabilityFile crea un archivo que define un conjunto de funcionalidades de usuario que se pueden exponer a través de archivos de configuración de sesión. Esto incluye determinar qué cmdlets, funciones y scripts están disponibles para los usuarios. El archivo de funcionalidad es un archivo de texto legible que contiene una tabla hash de propiedades y valores de configuración de sesión. El archivo tiene una extensión de nombre de archivo .psrc y puede usarse en más de una configuración de sesión.

Todos los parámetros de son opcionales, excepto el parámetro New-PSRoleCapabilityFile, que especifica la ruta de acceso del archivo. Si no incluye un parámetro al ejecutar el cmdlet, la clave correspondiente en el archivo de configuración de sesión se comenta, excepto donde se indique en la descripción del parámetro. Por ejemplo, si no incluye el parámetro AssembliesToLoad , esa sección del archivo de configuración de sesión se comenta.

Para usar el archivo de funcionalidad de rol en una configuración de sesión, coloque primero el archivo en una RoleCapabilities subcarpeta de una carpeta de módulo de PowerShell válida. A continuación, haga referencia al archivo por nombre en el campo RoleDefinitions en un archivo de configuración de sesión de PowerShell (.pssc).

Este cmdlet se introdujo en Windows PowerShell 5.0.

Ejemplos

Ejemplo 1: Creación de un archivo de funcionalidad de rol en blanco

En este ejemplo se crea un nuevo archivo de funcionalidad de rol que usa los valores predeterminados (en blanco). El archivo se puede editar más adelante en un editor de texto para cambiar estas opciones de configuración.

New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"

Ejemplo 2: Creación de un archivo de funcionalidad de rol que permite a los usuarios reiniciar servicios y cualquier equipo VDI

En este ejemplo se crea un archivo de funcionalidad de rol de ejemplo que permite a los usuarios reiniciar servicios y equipos que coinciden con un patrón de nombre específico. El filtrado de nombres se define estableciendo el parámetro ValidatePattern en la expresión 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

Agrega los alias especificados a las sesiones que usan el archivo de funcionalidad de rol. Escriba una tabla hash con las claves siguientes:

  • Nombre. Nombre del alias. Esta clave es necesaria.
  • Valor. Comando que representa el alias. Esta clave es necesaria.
  • Descripción. Cadena de texto que describe el alias. Esta clave es opcional.
  • Opciones. Opciones de alias. Esta clave es opcional. El valor predeterminado es Ninguno. Los valores aceptables para este parámetro son: None, ReadOnly, Constant, Private o AllScope.

Por ejemplo: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}

Propiedades de parámetro

Tipo:

IDictionary[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-AssembliesToLoad

Especifica los ensamblados que se van a cargar en las sesiones que usan el archivo de funcionalidad de rol.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Author

Especifica el usuario que creó el archivo de funcionalidad de rol.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CompanyName

Identifica la empresa que creó el archivo de funcionalidad de rol. El valor predeterminado es Desconocido.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

Especifica un copyright para el archivo de funcionalidad de rol. Si omite este parámetro, New-PSRoleCapabilityFile genera una declaración de derechos de autor mediante el valor del parámetro Author .

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Description

Especifica una descripción para el archivo de funcionalidad de rol.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-EnvironmentVariables

Especifica las variables de entorno para las sesiones que exponen este archivo de funcionalidad de rol. Escriba una tabla hash en la que las claves son los nombres de las variables de entorno y los valores son los valores de las variables de entorno.

Por ejemplo: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Propiedades de parámetro

Tipo:IDictionary
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-FormatsToProcess

Especifica los archivos de formato (.ps1xml) que se ejecutan en las sesiones que utilizan el archivo de funcionalidad de rol. El valor de este parámetro debe ser una ruta de acceso completa o absoluta de los archivos de formato.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-FunctionDefinitions

Agrega las funciones especificadas a las sesiones que exponen la funcionalidad de rol. Escriba una tabla hash con las claves siguientes:

  • Nombre. Nombre de la función. Esta clave es necesaria.
  • Bloque de script. Cuerpo de la función. Escriba un bloque de script. Esta clave es necesaria.
  • Opciones. Opciones de función. Esta clave es opcional. El valor predeterminado es Ninguno. Los valores aceptables para este parámetro son: none, ReadOnly, Constant, Private o AllScope.

Por ejemplo:

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

Propiedades de parámetro

Tipo:

IDictionary[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Guid

Especifica un identificador único para el archivo de funcionalidad de rol. Si omite este parámetro, New-PSRoleCapabilityFile genera un GUID para el archivo. Para crear un nuevo GUID en PowerShell, escriba [guid]::NewGuid().

Propiedades de parámetro

Tipo:Guid
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ModulesToImport

Especifica los módulos que se importan automáticamente en sesiones que usan el archivo de funcionalidad de rol. De forma predeterminada, todos los comandos de los módulos enumerados están visibles. Cuando se usa con VisibleCmdlets o VisibleFunctions, se pueden restringir los comandos visibles desde los módulos especificados.

Cada módulo usado en el valor de este parámetro se puede representar mediante una cadena o mediante una tabla hash. Una cadena de módulo solo consta del nombre del módulo. Una tabla hash de módulo puede incluir ModuleName , ModuleVersiony claves GUID de. Solo se requiere la clave ModuleName.

Por ejemplo, el siguiente valor consta de una cadena y una tabla hash. Cualquier combinación de cadenas y tablas hash, en cualquier orden, es válida.

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

Propiedades de parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Path

Especifica la ruta de acceso y el nombre de archivo del archivo de funcionalidad de rol. El archivo debe tener una extensión .psrc nombre de archivo.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ScriptsToProcess

Especifica los scripts que se van a agregar a las sesiones que usan el archivo de funcionalidad de rol. Escriba la ruta de acceso y los nombres de archivo de los scripts. El valor de este parámetro debe ser una ruta de acceso completa o absoluta de los nombres de archivo de script.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-TypesToProcess

Especifica los archivos de tipo (.ps1xml) que se van a agregar a las sesiones que utilizan el archivo de funcionalidad de rol. Escriba los nombres de archivo de tipo. El valor de este parámetro debe ser una ruta de acceso completa o absoluta del tipo filenames.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VariableDefinitions

Especifica variables que se van a agregar a las sesiones que usan el archivo de funcionalidad de rol. Escriba una tabla hash con las claves siguientes:

  • Nombre. nombre de la variable. Esta clave es necesaria.
  • Valor. Valor de variable. Esta clave es necesaria.
  • Opciones. Opciones variables. Esta clave es opcional. El valor predeterminado es Ninguno. Los valores aceptables para este parámetro son: none, ReadOnly, Constant, Private o AllScope.

Por ejemplo: @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}

Propiedades de parámetro

Tipo:Object
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VisibleAliases

Limita los alias de la sesión a esos alias especificados en el valor de este parámetro, además de los alias que defina en el parámetro AliasDefinition. Se admiten caracteres comodín. De forma predeterminada, todos los alias definidos por el motor de PowerShell y todos los alias que exportan los módulos están visibles en la sesión.

Por ejemplo, para limitar los alias disponibles a gm y gcm, use esta sintaxis: VisibleAliases="gcm", "gp"

Cuando se incluye cualquier parámetro visible en el archivo de funcionalidad de rol, PowerShell quita el cmdlet Import-Module y su alias de ipmo de la sesión.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VisibleCmdlets

Limita los cmdlets de la sesión a los especificados en el valor de este parámetro. Se admiten caracteres comodín y nombres calificados de módulo.

De forma predeterminada, todos los cmdlets que los módulos de la exportación de sesión están visibles en la sesión. Use los parámetros SessionType y ModulesToImport para determinar qué módulos y complementos se importan en la sesión. Si no hay módulos en ModulesToImport exponer el cmdlet, New-PSRoleCapabilityFile intenta cargar el módulo adecuado.

Cuando se incluye cualquier parámetro visible en el archivo de configuración de sesión, PowerShell quita el cmdlet Import-Module y su alias de ipmo de la sesión.

Propiedades de parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VisibleExternalCommands

Limita los archivos binarios externos, scripts y comandos que se pueden ejecutar en la sesión a los especificados en el valor de este parámetro.

De forma predeterminada, no hay ningún comando externo visible en esta sesión.

Cuando se incluye cualquier parámetro visible en el archivo de configuración de sesión, PowerShell quita el cmdlet Import-Module y su alias de ipmo de la sesión.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VisibleFunctions

Limita las funciones de la sesión a las especificadas en el valor de este parámetro, además de las funciones que defina en el parámetro FunctionDefinitions. Se admiten caracteres comodín.

De forma predeterminada, todas las funciones exportadas por módulos de la sesión están visibles en esa sesión. Use los parámetros SessionType y ModulesToImport para determinar qué módulos se importan en la sesión.

Cuando se incluye cualquier parámetro visible en el archivo de configuración de sesión, PowerShell quita el cmdlet Import-Module y su alias de ipmo de la sesión.

Propiedades de parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VisibleProviders

Limita los proveedores de PowerShell de la sesión a los especificados en el valor de este parámetro. Se admiten caracteres comodín.

De forma predeterminada, todos los proveedores exportados por un módulo de la sesión están visibles en la sesión. Use los parámetros SessionType y ModulesToImport para determinar qué módulos se importan en la sesión.

Cuando se incluye cualquier parámetro visible en el archivo de configuración de sesión, PowerShell quita el cmdlet Import-Module y su alias de ipmo de la sesión.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.