New-PSRoleCapabilityFile
Skapar en fil som definierar en uppsättning funktioner som ska exponeras via en sessionskonfiguration.
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
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 filnamnstillägget .psrc och kan användas av mer än en sessionskonfiguration.
Alla parametrar New-PSRoleCapabilityFile
i ä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 undermappen RoleCapabilities i 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 parametern ValidatePattern anges 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"}
Typ: | IDictionary[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AssembliesToLoad
Anger de sammansättningar som ska läsas in i de sessioner som använder rollfunktionsfilen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Author
Anger den användare som skapade rollfunktionsfilen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CompanyName
Identifierar det företag som skapade rollfunktionsfilen. Standardvärdet är Okänt.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Copyright
Anger en upphovsrätt för rollfunktionsfilen. Om du utelämnar den här parametern New-PSRoleCapabilityFile
genererar en copyright-instruktion med värdet för parametern Författare .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Description
Anger en beskrivning av rollfunktionsfilen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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"}
Typ: | IDictionary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FormatsToProcess
Anger formateringsfilerna (.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.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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"}
Typ: | IDictionary[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Guid
Anger en unik identifierare för rollfunktionsfilen. Om du utelämnar den här parametern New-PSRoleCapabilityFile
genererar du ett GUID för filen. Om du vill skapa ett nytt GUID i PowerShell skriver du [guid]::NewGuid()
.
Typ: | Guid |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 VisibleFunctions kan 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-, ModuleVersion- och GUID-nycklar . Endast ModuleName-nyckeln 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"}
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Path
Anger sökvägen och filnamnet för rollkapacitetsfilen. Filen måste ha filnamnstillägget .psrc
.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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"}
Typ: | Object |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 cmdleten Import-Module
och dess ipmo
alias från sessionen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-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 New-PSRoleCapabilityFile
försöker du läsa in lämplig modul.
När någon Visible-parameter ingår i sessionskonfigurationsfilen tar PowerShell bort cmdleten Import-Module
och dess ipmo
alias från sessionen.
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-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.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | Object[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-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.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |