Condividi tramite


New-PSRoleCapabilityFile

Crea un file che definisce un set di funzionalità da esporre tramite una configurazione di sessione.

Sintassi

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>]

Descrizione

Il New-PSRoleCapabilityFile cmdlet crea un file che definisce un set di funzionalità utente che possono essere esposte tramite i file di configurazione della sessione. Ciò include la determinazione dei cmdlet, delle funzioni e degli script disponibili per gli utenti. Il file di funzionalità è un file di testo leggibile che contiene una tabella hash di proprietà e valori di configurazione della sessione. Il file ha un'estensione psrc e può essere usato da più di una configurazione di sessione.

Tutti i parametri di New-PSRoleCapabilityFile sono facoltativi, ad eccezione del parametro Path , che specifica il percorso del file. Se non si include un parametro quando si esegue il cmdlet, la chiave corrispondente nel file di configurazione della sessione viene impostata come commento, tranne dove indicato nella descrizione del parametro. Ad esempio, se non si include il parametro AssembliesToLoad , tale sezione del file di configurazione della sessione viene impostata come commento.

Per usare il file delle funzionalità del ruolo in una configurazione di sessione, posizionare innanzitutto il file in una sottocartella RoleCapabilities di una cartella valida del modulo di PowerShell. Fare quindi riferimento al file in base al nome nel campo RoleDefinitions in un file di configurazione sessione di PowerShell (con estensione pssc).

Questo cmdlet è stato introdotto in Windows PowerShell 5.0.

Esempio

Esempio 1: Creare un file di funzionalità di ruolo vuoto

In questo esempio viene creato un nuovo file di funzionalità del ruolo che usa i valori predefiniti (vuoti). Il file può essere modificato in un editor di testo per modificare queste impostazioni di configurazione.

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

Esempio 2: Creare un file di funzionalità del ruolo che consente agli utenti di riavviare i servizi e qualsiasi computer VDI

In questo esempio viene creato un file di funzionalità del ruolo di esempio che consente agli utenti di riavviare i servizi e i computer che corrispondono a un modello di nome specifico. Il filtro dei nomi viene definito impostando il parametro ValidatePattern sull'espressione VDI\d+regolare .

$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

Parametri

-AliasDefinitions

Aggiunge gli alias specificati alle sessioni che usano il file di funzionalità del ruolo. Immettere una tabella hash con le chiavi seguenti:

  • Nome. Nome dell'alias. Questa chiave è obbligatoria.
  • Valore. Comando che l'alias rappresenta. Questa chiave è obbligatoria.
  • Descrizione. Stringa di testo che descrive l'alias. Questa chiave è facoltativa.
  • Opzioni. Opzioni dell'alias. Questa chiave è facoltativa. Il valore predefinito è None. I valori accettabili per questo parametro sono: None, ReadOnly, Constant, Private o AllScope.

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

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssembliesToLoad

Specifica gli assembly da caricare nelle sessioni che usano il file di funzionalità del ruolo.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Author

Specifica l'utente che ha creato il file di funzionalità del ruolo.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompanyName

Identifica la società che ha creato il file di funzionalità del ruolo. Il valore predefinito è Unknown.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Specifica un copyright per il file di funzionalità del ruolo. Se si omette questo parametro, New-PSRoleCapabilityFile genera un'istruzione copyright usando il valore del parametro Author .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Specifica una descrizione per il file di funzionalità del ruolo.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnvironmentVariables

Specifica le variabili di ambiente per le sessioni che espongono questo file di funzionalità del ruolo. Immettere una tabella hash in cui le chiavi sono i nomi delle variabili di ambiente e i valori sono i valori delle variabili di ambiente.

Ad esempio: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatsToProcess

Specifica i file di formattazione (.ps1xml) eseguiti nelle sessioni che usano il file di funzionalità del ruolo. Il valore di questo parametro deve essere un percorso completo o assoluto dei file di formattazione.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FunctionDefinitions

Aggiunge le funzioni specificate alle sessioni che espongono la funzionalità del ruolo. Immettere una tabella hash con le chiavi seguenti:

  • Nome. Nome della funzione. Questa chiave è obbligatoria.
  • Scriptblock. Corpo della funzione. Immettere un blocco di script. Questa chiave è obbligatoria.
  • Opzioni. Opzioni della funzione. Questa chiave è facoltativa. Il valore predefinito è None. I valori accettabili per questo parametro sono: none, ReadOnly, Constant, Private o AllScope.

Ad esempio:

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

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Guid

Specifica un identificatore univoco per il file di funzionalità del ruolo. Se si omette questo parametro, New-PSRoleCapabilityFile genera un GUID per il file. Per creare un nuovo GUID in PowerShell, digitare [guid]::NewGuid().

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModulesToImport

Specifica i moduli importati automaticamente nelle sessioni che usano il file di funzionalità del ruolo. Per impostazione predefinita, tutti i comandi nei moduli elencati sono visibili. Se usato con VisibleCmdlets o VisibleFunctions, i comandi visibili dai moduli specificati possono essere limitati.

Ogni modulo usato nel valore di questo parametro può essere rappresentato da una stringa o da una tabella hash. Una stringa di modulo è costituita solo dal nome del modulo. Una tabella hash del modulo può includere chiavi ModuleName, ModuleVersion e GUID . È necessaria solo la chiave ModuleName .

Ad esempio, il valore seguente è costituito da una stringa e da una tabella hash. Qualsiasi combinazione di stringhe e tabelle hash, in qualunque ordine, è valida.

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

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Specifica il percorso e il nome file del file di funzionalità del ruolo. Il file deve avere un'estensione .psrc del nome file.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptsToProcess

Specifica gli script da aggiungere alle sessioni che usano il file di funzionalità del ruolo. Immettere il percorso e i nomi file degli script. Il valore di questo parametro deve essere un percorso completo o assoluto dei nomi di file di script.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypesToProcess

Specifica i file di tipo (.ps1xml) da aggiungere alle sessioni che usano il file di funzionalità del ruolo. Immettere i nomi file di tipo. Il valore di questo parametro deve essere un percorso completo o assoluto dei nomi file di tipo.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VariableDefinitions

Specifica le variabili da aggiungere alle sessioni che usano il file di funzionalità del ruolo. Immettere una tabella hash con le chiavi seguenti:

  • Nome. Nome della variabile. Questa chiave è obbligatoria.
  • Valore. Valore della variabile. Questa chiave è obbligatoria.

Ad esempio: @{Name="WarningPreference";Value="SilentlyContinue"}

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VisibleAliases

Limita gli alias nella sessione a tali alias specificati nel valore di questo parametro, oltre agli alias definiti nel parametro AliasDefinition . I carattere jolly sono supportati. Per impostazione predefinita, tutti gli alias definiti dal motore di PowerShell e tutti gli alias che i moduli esportare sono visibili nella sessione.

Ad esempio, per limitare gli alias disponibili a gm e gcm, usare questa sintassi: VisibleAliases="gcm", "gp"

Quando un parametro Visible viene incluso nel file delle funzionalità del ruolo, PowerShell rimuove il Import-Module cmdlet e il relativo ipmo alias dalla sessione.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-VisibleCmdlets

Limita i cmdlet nella sessione a quelli specificati nel valore di questo parametro. Sono supportati i caratteri jolly e i nomi completi del modulo.

Per impostazione predefinita, tutti i cmdlet che i moduli nell'esportazione della sessione sono visibili nella sessione. Usare i parametri SessionType e ModulesToImport per determinare quali moduli e snap-in vengono importati nella sessione. Se nessun modulo in ModulesToImport espone il cmdlet, New-PSRoleCapabilityFile prova a caricare il modulo appropriato.

Quando un parametro Visible viene incluso nel file di configurazione della sessione, PowerShell rimuove il Import-Module cmdlet e il relativo ipmo alias dalla sessione.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-VisibleExternalCommands

Limita i file binari esterni, gli script e i comandi che possono essere eseguiti nella sessione a quelli specificati nel valore di questo parametro.

Per impostazione predefinita, in questa sessione non sono visibili comandi esterni.

Quando un parametro Visible viene incluso nel file di configurazione della sessione, PowerShell rimuove il Import-Module cmdlet e il relativo ipmo alias dalla sessione.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VisibleFunctions

Limita le funzioni nella sessione a quelle specificate nel valore di questo parametro, oltre a tutte le funzioni definite nel parametro FunctionDefinitions . I carattere jolly sono supportati.

Per impostazione predefinita, tutte le funzioni esportate dai moduli nella sessione sono visibili in tale sessione. Usare i parametri SessionType e ModulesToImport per determinare quali moduli vengono importati nella sessione.

Quando un parametro Visible viene incluso nel file di configurazione della sessione, PowerShell rimuove il Import-Module cmdlet e il relativo ipmo alias dalla sessione.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-VisibleProviders

Limita i provider di PowerShell nella sessione a quelli specificati nel valore di questo parametro. I carattere jolly sono supportati.

Per impostazione predefinita, tutti i provider esportati da un modulo nella sessione sono visibili nella sessione. Usare i parametri SessionType e ModulesToImport per determinare quali moduli vengono importati nella sessione.

Quando un parametro Visible viene incluso nel file di configurazione della sessione, PowerShell rimuove il Import-Module cmdlet e il relativo ipmo alias dalla sessione.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True