Delen via


New-PSRoleCapabilityFile

Hiermee maakt u een bestand dat een set mogelijkheden definieert die beschikbaar moeten worden gemaakt via een sessieconfiguratie.

Syntax

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

De New-PSRoleCapabilityFile cmdlet maakt een bestand dat een set gebruikersmogelijkheden definieert die kunnen worden weergegeven via sessieconfiguratiebestanden. Dit omvat het bepalen welke cmdlets, functies en scripts beschikbaar zijn voor gebruikers. Het mogelijkheidsbestand is een door mensen leesbaar tekstbestand dat een hashtabel met sessieconfiguratie-eigenschappen en -waarden bevat. Het bestand heeft de bestandsextensie .psrc en kan worden gebruikt door meer dan één sessieconfiguratie.

Alle parameters van zijn optioneel, met uitzondering van New-PSRoleCapabilityFilede path-parameter, waarmee het bestandspad voor het bestand wordt opgegeven. Als u geen parameter opneemt bij het uitvoeren van de cmdlet, wordt de bijbehorende sleutel in het sessieconfiguratiebestand weggelaten, behalve waar vermeld in de beschrijving van de parameter. Als u bijvoorbeeld de parameter AssemblyiesToLoad niet opneemt, wordt die sectie van het sessieconfiguratiebestand uitgeschakeld.

Als u het functiebestand wilt gebruiken in een sessieconfiguratie, plaatst u het bestand eerst in een rolecapabilities-submap van een geldige PowerShell-modulemap. Verwijs vervolgens naar het bestand op naam in het veld RoleDefinitions in een PowerShell-sessieconfiguratiebestand (.pssc).

Deze cmdlet is geïntroduceerd in Windows PowerShell 5.0.

Voorbeelden

Voorbeeld 1: een leeg functiebestand Creatie

In dit voorbeeld wordt een nieuw functiebestand gemaakt dat gebruikmaakt van de standaardwaarden (lege waarden). Het bestand kan later worden bewerkt in een teksteditor om deze configuratie-instellingen te wijzigen.

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

Voorbeeld 2: Creatie een functiemogelijkheidsbestand waarmee gebruikers services en elke VDI-computer opnieuw kunnen starten

In dit voorbeeld wordt een voorbeeldbestand voor rolfuncties gemaakt waarmee gebruikers services en computers die overeenkomen met een specifiek naampatroon opnieuw kunnen opstarten. Naamfiltering wordt gedefinieerd door de parameter ValidatePattern in te stellen op de reguliere expressie 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

Parameters

-AliasDefinitions

Hiermee voegt u de opgegeven aliassen toe aan sessies die gebruikmaken van het functiemogelijkheidsbestand. Voer een hash-tabel in met de volgende sleutels:

  • Naam. Naam van de alias. Deze sleutel is vereist.
  • Waarde. De opdracht die de alias vertegenwoordigt. Deze sleutel is vereist.
  • Beschrijving Een tekenreeks die de alias beschrijft. Deze sleutel is optioneel.
  • Opties. Aliasopties. Deze sleutel is optioneel. De standaardwaarde is Geen. De acceptabele waarden voor deze parameter zijn: None, ReadOnly, Constant, Private of AllScope.

Bijvoorbeeld: @{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

Hiermee geeft u de assembly's op die moeten worden geladen in de sessies die gebruikmaken van het rolmogelijkheidsbestand.

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

-Author

Hiermee geeft u de gebruiker op die het functiebestand heeft gemaakt.

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

-CompanyName

Hiermee wordt het bedrijf geïdentificeerd dat het functiebestand heeft gemaakt. De standaardwaarde is Onbekend.

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

Hiermee geeft u een copyright op voor het bestand met rolmogelijkheden. Als u deze parameter weglaat, New-PSRoleCapabilityFile wordt een copyright-instructie gegenereerd met behulp van de waarde van de parameter Auteur .

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

-Description

Hiermee geeft u een beschrijving op voor het bestand met rolmogelijkheden.

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

-EnvironmentVariables

Hiermee geeft u de omgevingsvariabelen op voor sessies die dit functiemogelijkheidsbestand beschikbaar maken. Voer een hashtabel in waarin de sleutels de namen van de omgevingsvariabele zijn en de waarden de waarden van de omgevingsvariabele zijn.

Bijvoorbeeld: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

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

-FormatsToProcess

Hiermee geeft u de opmaakbestanden (.ps1xml) op die worden uitgevoerd in sessies die gebruikmaken van het functiemogelijkheidsbestand. De waarde van deze parameter moet een volledig of absoluut pad van de opmaakbestanden zijn.

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

-FunctionDefinitions

Voegt de opgegeven functies toe aan sessies die de rolmogelijkheid beschikbaar maken. Voer een hash-tabel in met de volgende sleutels:

  • Naam. Naam van de functie. Deze sleutel is vereist.
  • ScriptBlock. Hoofdtekst van de functie. Voer een scriptblok in. Deze sleutel is vereist.
  • Opties. Functieopties. Deze sleutel is optioneel. De standaardwaarde is Geen. De acceptabele waarden voor deze parameter zijn: zijn None, ReadOnly, Constant, Private of AllScope.

Bijvoorbeeld:

@{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

Hiermee geeft u een unieke id voor het bestand met rolmogelijkheden. Als u deze parameter weglaat, New-PSRoleCapabilityFile wordt er een GUID voor het bestand gegenereerd. Als u een nieuwe GUID in PowerShell wilt maken, typt u [guid]::NewGuid().

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

-ModulesToImport

Hiermee geeft u de modules op die automatisch worden geïmporteerd in sessies die gebruikmaken van het bestand met functiemogelijkheden. Standaard zijn alle opdrachten in de vermelde modules zichtbaar. Bij gebruik met VisibleCmdlets of VisibleFunctions kunnen de opdrachten die zichtbaar zijn vanuit de opgegeven modules worden beperkt.

Elke module die in de waarde van deze parameter wordt gebruikt, kan worden vertegenwoordigd door een tekenreeks of door een hashtabel. Een moduletekenreeks bestaat alleen uit de naam van de module. Een module-hashtabel kan ModuleName, ModuleVersion en GUID-sleutels bevatten. Alleen de sleutel ModuleName is vereist.

De volgende waarde bestaat bijvoorbeeld uit een tekenreeks en een hashtabel. Elke combinatie van tekenreeksen en hash-tabellen, in elke volgorde, is geldig.

"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

Hiermee geeft u het pad en de bestandsnaam van het functiebestand. Het bestand moet een .psrc bestandsnaamextensie hebben.

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

-ScriptsToProcess

Hiermee geeft u scripts toe te voegen aan sessies die gebruikmaken van het bestand met rolmogelijkheden. Voer het pad en de bestandsnamen van de scripts in. De waarde van deze parameter moet een volledig of absoluut pad van de namen van het scriptbestand zijn.

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

-TypesToProcess

Hiermee geeft u typebestanden (.ps1xml) toe te voegen aan sessies die gebruikmaken van het bestand met rolmogelijkheden. Voer de bestandsnamen van het type in. De waarde van deze parameter moet een volledig of absoluut pad van het type bestandsnamen zijn.

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

-VariableDefinitions

Hiermee geeft u variabelen op die moeten worden toegevoegd aan sessies die gebruikmaken van het bestand met functiemogelijkheden. Voer een hash-tabel in met de volgende sleutels:

  • Naam. Naam van de variabele. Deze sleutel is vereist.
  • Waarde. Variabele waarde. Deze sleutel is vereist.
  • Opties. Variabeleopties. Deze sleutel is optioneel. De standaardwaarde is Geen. De acceptabele waarden voor deze parameter zijn: zijn None, ReadOnly, Constant, Private of AllScope.

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

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

-VisibleAliases

Beperkt de aliassen in de sessie tot de aliassen die zijn opgegeven in de waarde van deze parameter, plus eventuele aliassen die u definieert in de aliasDefinition parameter . Jokertekens worden ondersteund. Standaard zijn alle aliassen die zijn gedefinieerd door de PowerShell-engine en alle aliassen die door modules worden geëxporteerd, zichtbaar in de sessie.

Als u bijvoorbeeld de beschikbare aliassen wilt beperken tot gm en gcm, gebruikt u deze syntaxis: VisibleAliases="gcm", "gp"

Wanneer een Visible-parameter is opgenomen in het functiebestand, verwijdert PowerShell de cmdlet en de Import-Module alias uit ipmo de sessie.

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

-VisibleCmdlets

Beperkt de cmdlets in de sessie tot de cmdlets die zijn opgegeven in de waarde van deze parameter. Jokertekens en door module gekwalificeerde namen worden ondersteund.

Standaard zijn alle cmdlets die de modules in de sessie-export zichtbaar zijn in de sessie. Gebruik de parameters SessionType en ModulesToImport om te bepalen welke modules en modules in de sessie worden geïmporteerd. Als er geen modules in ModulesToImport de cmdlet beschikbaar maken, New-PSRoleCapabilityFile probeert de juiste module te laden.

Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module alias uit ipmo de sessie.

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

-VisibleExternalCommands

Beperkt de externe binaire bestanden, scripts en opdrachten die kunnen worden uitgevoerd in de sessie tot de bestanden die zijn opgegeven in de waarde van deze parameter.

Standaard zijn er geen externe opdrachten zichtbaar in deze sessie.

Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module alias uit ipmo de sessie.

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

-VisibleFunctions

Beperkt de functies in de sessie tot de functies die zijn opgegeven in de waarde van deze parameter, plus alle functies die u definieert in de parameter FunctionDefinitions . Jokertekens worden ondersteund.

Standaard zijn alle functies die door modules in de sessie worden geëxporteerd, zichtbaar in die sessie. Gebruik de parameters SessionType en ModulesToImport om te bepalen welke modules in de sessie worden geïmporteerd.

Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module alias uit ipmo de sessie.

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

-VisibleProviders

Beperkt de PowerShell-providers in de sessie tot de providers die zijn opgegeven in de waarde van deze parameter. Jokertekens worden ondersteund.

Standaard zijn alle providers die door een module in de sessie worden geëxporteerd, zichtbaar in de sessie. Gebruik de parameters SessionType en ModulesToImport om te bepalen welke modules in de sessie worden geïmporteerd.

Wanneer een Visible-parameter is opgenomen in het sessieconfiguratiebestand, verwijdert PowerShell de cmdlet en de Import-Module alias uit ipmo de sessie.

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