Partager via


New-PSRoleCapabilityFile

Crée un fichier qui définit un ensemble de fonctionnalités à exposer via une configuration de session.

Syntaxe

Default (Par défaut)

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

L’applet de commande New-PSRoleCapabilityFile crée un fichier qui définit un ensemble de fonctionnalités utilisateur qui peuvent être exposées via des fichiers de configuration de session. Cela inclut la détermination des applets de commande, des fonctions et des scripts disponibles pour les utilisateurs. Le fichier de capacité est un fichier texte lisible par l’homme qui contient une table de hachage des propriétés et des valeurs de configuration de session. Le fichier a une extension de nom de fichier .psrc et peut être utilisé par plusieurs configurations de session.

Tous les paramètres de New-PSRoleCapabilityFile sont facultatifs, à l’exception du paramètre Path , qui spécifie le chemin d’accès au fichier. Si vous n’incluez pas de paramètre lors de l’exécution de l’applet de commande, la clé correspondante dans le fichier de configuration de session fait l’objet d’un commentaire, sauf indication contraire dans la description du paramètre. Par exemple, si vous n’incluez pas le paramètre AssembliesToLoad , cette section du fichier de configuration de session est commentée.

Pour utiliser le fichier de capacité de rôle dans une configuration de session, placez d’abord le fichier dans un RoleCapabilities sous-dossier d’un dossier de module PowerShell valide. Référencez ensuite le fichier par nom dans le champ RoleDefinitions dans un fichier de configuration de session PowerShell (.pssc).

Cette applet de commande a été introduite dans Windows PowerShell 5.0.

Exemples

Exemple 1 : Créer un fichier de capacité de rôle vide

Cet exemple crée un fichier de capacité de rôle qui utilise les valeurs par défaut (vides). Le fichier peut être modifié ultérieurement dans un éditeur de texte pour modifier ces paramètres de configuration.

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

Exemple 2 : Créer un fichier de capacité de rôle permettant aux utilisateurs de redémarrer les services et n’importe quel ordinateur VDI

Cet exemple crée un exemple de fichier de capacité de rôle qui permet aux utilisateurs de redémarrer des services et des ordinateurs qui correspondent à un modèle de nom spécifique. Le filtrage de noms est défini en définissant le paramètre ValidatePattern sur l’expression régulière 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

Paramètres

-AliasDefinitions

Ajoute les alias spécifiés aux sessions qui utilisent le fichier de capacité de rôle. Entrez une table de hachage avec les clés suivantes :

  • Nom. Nom de l’alias. Cette clé est requise.
  • Valeur. Commande que l’alias représente. Cette clé est requise.
  • Description. Chaîne de texte qui décrit l’alias. Cette clé est facultative.
  • Options. Options d’alias. Cette clé est facultative. La valeur par défaut est Aucun. Les valeurs acceptables pour ce paramètre sont : None, ReadOnly, Constant, Private ou AllScope.

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

Propriétés du paramètre

Type:

IDictionary[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AssembliesToLoad

Spécifie les assemblys à charger dans les sessions qui utilisent le fichier de capacité de rôle.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Author

Spécifie l’utilisateur qui a créé le fichier de capacité de rôle.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CompanyName

Identifie l’entreprise qui a créé le fichier de capacité de rôle. La valeur par défaut est Unknown.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

Spécifie un droit d’auteur pour le fichier de capacité de rôle. Si vous omettez ce paramètre, New-PSRoleCapabilityFile génère une déclaration de copyright à l’aide de la valeur du paramètre Author .

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Description

Spécifie une description du fichier de capacité de rôle.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-EnvironmentVariables

Spécifie les variables d’environnement pour les sessions qui exposent ce fichier de capacité de rôle. Entrez une table de hachage dans laquelle les clés sont les noms des variables d’environnement et les valeurs sont les valeurs des variables d’environnement.

Par exemple : EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Propriétés du paramètre

Type:IDictionary
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FormatsToProcess

Spécifie les fichiers de formatage (.ps1xml) qui s’exécutent dans les sessions qui utilisent le fichier de capacité de rôle. La valeur de ce paramètre doit être un chemin d’accès complet ou absolu des fichiers de mise en forme.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FunctionDefinitions

Ajoute les fonctions spécifiées aux sessions qui exposent la fonctionnalité de rôle. Entrez une table de hachage avec les clés suivantes :

  • Nom. Nom de la fonction. Cette clé est requise.
  • ScriptBlock. Corps de la fonction. Entrez un bloc de script. Cette clé est requise.
  • Options. Options de fonction. Cette clé est facultative. La valeur par défaut est Aucun. Les valeurs acceptables pour ce paramètre sont : None, ReadOnly, Constant, Private ou AllScope.

Par exemple:

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

Propriétés du paramètre

Type:

IDictionary[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Guid

Spécifie un identificateur unique pour le fichier de capacité de rôle. Si vous omettez ce paramètre, New-PSRoleCapabilityFile génère un GUID pour le fichier. Pour créer un GUID dans PowerShell, tapez [guid]::NewGuid().

Propriétés du paramètre

Type:Guid
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ModulesToImport

Spécifie les modules qui sont automatiquement importés dans des sessions qui utilisent le fichier de capacité de rôle. Par défaut, toutes les commandes des modules répertoriés sont visibles. Lorsqu’elles sont utilisées avec VisibleCmdlets ou VisibleFunctions, les commandes visibles à partir des modules spécifiés peuvent être restreintes.

Chaque module utilisé dans la valeur de ce paramètre peut être représenté par une chaîne ou par une table de hachage. Une chaîne de module se compose uniquement du nom du module. Une table de hachage de module peut inclure ModuleName, ModuleVersionet GUID clés. Seule la clé ModuleName est requise.

Par exemple, la valeur suivante se compose d’une chaîne et d’une table de hachage. Toute combinaison de chaînes et de tables de hachage, dans n’importe quel ordre, est valide.

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

Propriétés du paramètre

Type:

Object[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

Spécifie le chemin d’accès et le nom du fichier de capacité de rôle. Le fichier doit avoir une extension de nom de fichier .psrc.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ScriptsToProcess

Spécifie des scripts à ajouter à des sessions qui utilisent le fichier de capacité de rôle. Entrez le chemin d’accès et les noms de fichiers des scripts. La valeur de ce paramètre doit être un chemin d’accès complet ou absolu des noms de fichiers de script.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-TypesToProcess

Spécifie les fichiers de type (.ps1xml) à ajouter aux sessions qui utilisent le fichier de capacité de rôle. Entrez les noms de fichiers de type. La valeur de ce paramètre doit être un chemin d’accès complet ou absolu des noms de fichiers de type.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-VariableDefinitions

Spécifie des variables à ajouter à des sessions qui utilisent le fichier de capacité de rôle. Entrez une table de hachage avec les clés suivantes :

  • Nom. Nom de la variable. Cette clé est requise.
  • Valeur. Valeur de variable. Cette clé est requise.
  • Options. Options variables. Cette clé est facultative. La valeur par défaut est Aucun. Les valeurs acceptables pour ce paramètre sont : None, ReadOnly, Constant, Private ou AllScope.

Par exemple : @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}

Propriétés du paramètre

Type:Object
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-VisibleAliases

Limite les alias de la session à ces alias spécifiés dans la valeur de ce paramètre, ainsi que les alias que vous définissez dans le paramètre AliasDefinition. Les caractères génériques sont pris en charge. Par défaut, tous les alias définis par le moteur PowerShell et tous les alias que les modules exportent sont visibles dans la session.

Par exemple, pour limiter les alias disponibles à gm et gcm, utilisez cette syntaxe : VisibleAliases="gcm", "gp"

Lorsqu’un paramètre visible est inclus dans le fichier de fonctionnalité de rôle, PowerShell supprime l’applet de commande Import-Module et son alias de ipmo de la session.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-VisibleCmdlets

Limite les applets de commande de la session à celles spécifiées dans la valeur de ce paramètre. Les caractères génériques et les noms qualifiés de module sont pris en charge.

Par défaut, toutes les applets de commande que les modules de l’exportation de session sont visibles dans la session. Utilisez les paramètres SessionType et ModulesToImport pour déterminer quels modules et composants logiciels enfichables sont importés dans la session. Si aucun module dans ModulesToImport exposer l’applet de commande, New-PSRoleCapabilityFile tente de charger le module approprié.

Quand un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet de commande Import-Module et son alias de ipmo de la session.

Propriétés du paramètre

Type:

Object[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-VisibleExternalCommands

Limite les fichiers binaires, scripts et commandes externes qui peuvent être exécutés dans la session à ceux spécifiés dans la valeur de ce paramètre.

Par défaut, aucune commande externe n’est visible dans cette session.

Quand un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet de commande Import-Module et son alias de ipmo de la session.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-VisibleFunctions

Limite les fonctions de la session à celles spécifiées dans la valeur de ce paramètre, ainsi que les fonctions que vous définissez dans le paramètre FunctionDefinitions. Les caractères génériques sont pris en charge.

Par défaut, toutes les fonctions exportées par les modules de la session sont visibles dans cette session. Utilisez les paramètres SessionType et ModulesToImport pour déterminer quels modules sont importés dans la session.

Quand un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet de commande Import-Module et son alias de ipmo de la session.

Propriétés du paramètre

Type:

Object[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-VisibleProviders

Limite les fournisseurs PowerShell de la session à ceux spécifiés dans la valeur de ce paramètre. Les caractères génériques sont pris en charge.

Par défaut, tous les fournisseurs exportés par un module dans la session sont visibles dans la session. Utilisez les paramètres SessionType et ModulesToImport pour déterminer quels modules sont importés dans la session.

Quand un paramètre Visible est inclus dans le fichier de configuration de session, PowerShell supprime l’applet de commande Import-Module et son alias de ipmo de la session.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.