Dela via


New-PSRoleCapabilityFile

Skapar en fil som definierar en uppsättning funktioner som ska exponeras via en sessionskonfiguration.

Syntax

Default (Standard)

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

Cmdleten New-PSRoleCapabilityFile skapar en fil som definierar en uppsättning användarfunktioner som kan exponeras via sessionskonfigurationsfiler. Detta omfattar att avgöra vilka cmdletar, funktioner och skript som är tillgängliga för användare. Funktionsfilen är en textfil som kan läsas av människor och som innehåller en hash-tabell med egenskaper och värden för sessionskonfiguration. Filen har ett .psrc filnamnstillägg och kan användas av mer än en sessionskonfiguration.

Alla parametrar för New-PSRoleCapabilityFile är valfria förutom parametern Path, som anger sökvägen för filen. Om du inte tar med en parameter när du kör cmdleten kommenteras motsvarande nyckel i sessionskonfigurationsfilen ut, förutom där anges i parameterbeskrivningen. Om du till exempel inte inkluderar parametern AssembliesToLoad kommenteras avsnittet i sessionskonfigurationsfilen ut.

Om du vill använda rollfunktionsfilen i en sessionskonfiguration placerar du först filen i en RoleCapabilities undermapp för en giltig PowerShell-modulmapp. Referera sedan till filen efter namn i fältet RoleDefinitions i en PowerShell-sessionskonfigurationsfil (.pssc).

Den här cmdleten introducerades i Windows PowerShell 5.0.

Exempel

Exempel 1: Skapa en tom rollfunktionsfil

I det här exemplet skapas en ny rollfunktionsfil som använder standardvärdena (tomma). Filen kan senare redigeras i en textredigerare för att ändra dessa konfigurationsinställningar.

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

Exempel 2: Skapa en rollfunktionsfil som gör det möjligt för användare att starta om tjänster och alla VDI-datorer

Det här exemplet skapar en exempelrollfunktionsfil som gör det möjligt för användare att starta om tjänster och datorer som matchar ett specifikt namnmönster. Namnfiltrering definieras genom att ange parametern ValidatePattern till det reguljära uttrycket 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

Parametrar

-AliasDefinitions

Lägger till de angivna aliasen i sessioner som använder rollfunktionsfilen. Ange en hash-tabell med följande nycklar:

  • Namn. Namnet på aliaset. Den här nyckeln krävs.
  • Värde. Kommandot som aliaset representerar. Den här nyckeln krävs.
  • Beskrivning. En textsträng som beskriver aliaset. Den här nyckeln är valfri.
  • Alternativ. Aliasalternativ. Den här nyckeln är valfri. Standardvärdet är Ingen. De acceptabla värdena för den här parametern är: None, ReadOnly, Constant, Private eller AllScope.

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

Parameteregenskaper

Typ:

IDictionary[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-AssembliesToLoad

Anger de sammansättningar som ska läsas in i de sessioner som använder rollfunktionsfilen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Author

Anger den användare som skapade rollfunktionsfilen.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-CompanyName

Identifierar det företag som skapade rollfunktionsfilen. Standardvärdet är Okänt.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

Anger en upphovsrätt för rollfunktionsfilen. Om du utelämnar den här parametern genererar New-PSRoleCapabilityFile en copyright-instruktion med värdet för parametern Author.

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Description

Anger en beskrivning av rollfunktionsfilen.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-EnvironmentVariables

Anger miljövariablerna för sessioner som exponerar den här rollfunktionsfilen. Ange en hash-tabell där nycklarna är miljövariabelnamnen och värdena är miljövariabelvärdena.

Till exempel: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Parameteregenskaper

Typ:IDictionary
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-FormatsToProcess

Anger de formateringsfiler (.ps1xml) som körs i sessioner som använder rollfunktionsfilen. Värdet för den här parametern måste vara en fullständig eller absolut sökväg för formateringsfilerna.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-FunctionDefinitions

Lägger till de angivna funktionerna i sessioner som exponerar rollfunktionen. Ange en hash-tabell med följande nycklar:

  • Namn. Namnet på funktionen. Den här nyckeln krävs.
  • ScriptBlock. Funktionstext. Ange ett skriptblock. Den här nyckeln krävs.
  • Alternativ. Funktionsalternativ. Den här nyckeln är valfri. Standardvärdet är Ingen. De godtagbara värdena för den här parametern är: None, ReadOnly, Constant, Private eller AllScope.

Till exempel:

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

Parameteregenskaper

Typ:

IDictionary[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Guid

Anger en unik identifierare för rollfunktionsfilen. Om du utelämnar den här parametern genererar New-PSRoleCapabilityFile ett GUID för filen. Om du vill skapa ett nytt GUID i PowerShell skriver du [guid]::NewGuid().

Parameteregenskaper

Typ:Guid
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ModulesToImport

Anger de moduler som automatiskt importeras till sessioner som använder rollfunktionsfilen. Som standard visas alla kommandon i de listade modulerna. När de används med VisibleCmdlets eller VisibleFunctionskan kommandon som visas från de angivna modulerna begränsas.

Varje modul som används i värdet för den här parametern kan representeras av en sträng eller en hash-tabell. En modulsträng består endast av namnet på modulen. En modulhashtabell kan innehålla ModuleName, ModuleVersionoch GUID- nycklar. Endast nyckeln ModuleName krävs.

Följande värde består till exempel av en sträng och en hash-tabell. Alla kombinationer av strängar och hashtabeller i valfri ordning är giltiga.

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

Parameteregenskaper

Typ:

Object[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Path

Anger sökvägen och filnamnet för rollkapacitetsfilen. Filen måste ha ett filnamnstillägg för .psrc.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ScriptsToProcess

Anger skript som ska läggas till i sessioner som använder rollfunktionsfilen. Ange sökvägen och filnamnen för skripten. Värdet för den här parametern måste vara en fullständig eller absolut sökväg för skriptfilnamnen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-TypesToProcess

Anger typfiler (.ps1xml) som ska läggas till i sessioner som använder rollfunktionsfilen. Ange typfilnamnen. Värdet för den här parametern måste vara en fullständig eller absolut sökväg för typfilnamnen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-VariableDefinitions

Anger variabler som ska läggas till i sessioner som använder rollfunktionsfilen. Ange en hash-tabell med följande nycklar:

  • Namn. Namnet på variabeln. Den här nyckeln krävs.
  • Värde. Variabelvärde. Den här nyckeln krävs.

Till exempel: @{Name="WarningPreference";Value="SilentlyContinue"}

Parameteregenskaper

Typ:Object
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-VisibleAliases

Begränsar aliasen i sessionen till de alias som anges i värdet för den här parametern, plus eventuella alias som du definierar i parametern AliasDefinition. Jokertecken stöds. Som standard visas alla alias som definieras av PowerShell-motorn och alla alias som moduler exporterar i sessionen.

Om du till exempel vill begränsa tillgängliga alias till gm och gcm använder du den här syntaxen: VisibleAliases="gcm", "gp"

När någon Visible-parameter ingår i rollfunktionsfilen tar PowerShell bort Import-Module-cmdleten och dess ipmo alias från sessionen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-VisibleCmdlets

Begränsar cmdletarna i sessionen till de som anges i värdet för den här parametern. Jokertecken och Modulkvalificerade namn stöds.

Som standard visas alla cmdletar som modulerna i sessionsexporten visar i sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler och snapin-moduler som importeras till sessionen. Om inga moduler i ModulesToImport exponerar cmdleten försöker New-PSRoleCapabilityFile läsa in rätt modul.

När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module och dess ipmo alias från sessionen.

Parameteregenskaper

Typ:

Object[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-VisibleExternalCommands

Begränsar de externa binärfiler, skript och kommandon som kan köras i sessionen till de som anges i värdet för den här parametern.

Som standard visas inga externa kommandon i den här sessionen.

När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module och dess ipmo alias från sessionen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-VisibleFunctions

Begränsar funktionerna i sessionen till de som anges i värdet för den här parametern, plus alla funktioner som du definierar i parametern FunctionDefinitions. Jokertecken stöds.

Som standard visas alla funktioner som exporteras av moduler i sessionen i den sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler som importeras till sessionen.

När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module och dess ipmo alias från sessionen.

Parameteregenskaper

Typ:

Object[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-VisibleProviders

Begränsar PowerShell-leverantörerna i sessionen till de som anges i värdet för den här parametern. Jokertecken stöds.

Som standard visas alla leverantörer som exporteras av en modul i sessionen i sessionen. Använd parametrarna SessionType och ModulesToImport för att avgöra vilka moduler som importeras till sessionen.

När någon visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module och dess ipmo alias från sessionen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.