New-PSRoleCapabilityFile
Vytvoří soubor, který definuje sadu funkcí, které se mají zpřístupnit prostřednictvím konfigurace relace.
Syntaxe
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
Rutina New-PSRoleCapabilityFile
vytvoří soubor, který definuje sadu uživatelských funkcí, které je možné zpřístupnit prostřednictvím konfiguračních souborů relace. To zahrnuje určení, které rutiny, funkce a skripty jsou uživatelům k dispozici. Soubor schopností je textový soubor čitelný člověkem, který obsahuje tabulku hash vlastností a hodnot konfigurace relace. Soubor má příponu názvu souboru .psrc a může být používán více než jednou konfigurací relace.
Všechny parametry New-PSRoleCapabilityFile
jsou volitelné s výjimkou parametru Cesta , který určuje cestu k souboru. Pokud při spuštění rutiny nezadáte parametr, odpovídající klíč v konfiguračním souboru relace se zakomentuje s výjimkou místa, kde je uvedeno v popisu parametru. Pokud například nezahrnete parametr AssemblyesToLoad , zakomentuje se tento oddíl konfiguračního souboru relace.
Pokud chcete použít soubor schopností role v konfiguraci relace, nejprve umístěte soubor do podsložky RoleCapabilities platné složky modulu PowerShellu. Potom v poli RoleDefinitions v souboru konfigurace relace PowerShellu (.pssc) odkazujte na soubor podle názvu.
Tato rutina byla zavedena ve Windows PowerShellu 5.0.
Příklady
Příklad 1: Vytvoření prázdného souboru schopností role
Tento příklad vytvoří nový soubor funkcí role, který používá výchozí (prázdné) hodnoty. Soubor lze později upravit v textovém editoru a změnit tak tato nastavení konfigurace.
New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"
Příklad 2: Vytvoření souboru funkcí role, který uživatelům umožňuje restartovat služby a jakýkoli počítač VDI
Tento příklad vytvoří ukázkový soubor funkcí role, který uživatelům umožňuje restartovat služby a počítače, které odpovídají určitému vzoru názvů. Filtrování názvů je definováno nastavením parametru ValidatePattern na regulární výraz 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
Parametry
-AliasDefinitions
Přidá zadané aliasy do relací, které používají soubor funkcí role. Zadejte tabulku hash s následujícími klíči:
- Název. Název aliasu Tento klíč je povinný.
- Hodnota. Příkaz, který alias představuje. Tento klíč je povinný.
- Popis. Textový řetězec, který popisuje alias. Tento klíč je volitelný.
- Volby. Možnosti aliasu. Tento klíč je volitelný. Výchozí hodnota je None. Přijatelné hodnoty pro tento parametr jsou: None, ReadOnly, Constant, Private nebo AllScope.
Příklad: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}
Typ: | IDictionary[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-AssembliesToLoad
Určuje sestavení, která se mají načíst do relací, které používají soubor funkcí role.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Author
Určuje uživatele, který vytvořil soubor funkcí role.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CompanyName
Identifikuje společnost, která vytvořila soubor funkcí role. Výchozí hodnota je Neznámá.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Copyright
Určuje autorská práva pro soubor funkcí role. Pokud tento parametr vynecháte, New-PSRoleCapabilityFile
vygeneruje příkaz autorských práv pomocí hodnoty Parametr Author .
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Description
Určuje popis souboru schopností role.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-EnvironmentVariables
Určuje proměnné prostředí pro relace, které zpřístupňují tento soubor funkcí role. Zadejte tabulku hash, ve které jsou klíče názvy proměnných prostředí, a hodnoty jsou hodnoty proměnných prostředí.
Příklad: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}
Typ: | IDictionary |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-FormatsToProcess
Určuje formátovací soubory (.ps1xml
), které se spouštějí v relacích, které používají soubor funkcí role.
Hodnota tohoto parametru musí být úplná nebo absolutní cesta k formátovacím souborům.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-FunctionDefinitions
Přidá zadané funkce do relací, které zpřístupňují funkci role. Zadejte tabulku hash s následujícími klíči:
- Název. Název funkce. Tento klíč je povinný.
- ScriptBlock. Tělo funkce. Zadejte blok skriptu. Tento klíč je povinný.
- Volby. Možnosti funkce. Tento klíč je volitelný. Výchozí hodnota je None. Přijatelné hodnoty pro tento parametr jsou: None, ReadOnly, Constant, Private nebo AllScope.
Příklad:
@{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}
Typ: | IDictionary[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Guid
Určuje jedinečný identifikátor souboru schopností role. Pokud tento parametr vynecháte, New-PSRoleCapabilityFile
vygeneruje identifikátor GUID souboru. Pokud chcete v PowerShellu vytvořit nový identifikátor GUID, zadejte [guid]::NewGuid()
.
Typ: | Guid |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ModulesToImport
Určuje moduly, které se automaticky importují do relací, které používají soubor funkcí role. Ve výchozím nastavení jsou viditelné všechny příkazy v uvedených modulech. Při použití s VisibleCmdlets nebo VisibleFunctions lze omezit příkazy viditelné ze zadaných modulů.
Každý modul použitý v hodnotě tohoto parametru může být reprezentován řetězcem nebo tabulkou hash. Řetězec modulu se skládá pouze z názvu modulu. Tabulka hodnot hash modulu může obsahovat klíče ModuleName, ModuleVersion a GUID . Vyžaduje se jenom klíč ModuleName.
Například následující hodnota se skládá z řetězce a tabulky hash. Jakákoli kombinace řetězců a hashovacích tabulek v libovolném pořadí je platná.
"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}
Typ: | Object[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Path
Určuje cestu a název souboru schopností role. Soubor musí mít příponu .psrc
názvu souboru.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ScriptsToProcess
Určuje skripty, které se mají přidat do relací, které používají soubor funkcí role. Zadejte cestu a názvy souborů skriptů. Hodnota tohoto parametru musí být úplná nebo absolutní cesta názvů souborů skriptu.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-TypesToProcess
Určuje soubory typu (.ps1xml
) pro přidání do relací, které používají soubor funkcí role. Zadejte názvy souborů typu. Hodnota tohoto parametru musí být úplná nebo absolutní cesta k názvům typů.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-VariableDefinitions
Určuje proměnné, které se mají přidat do relací, které používají soubor funkcí role. Zadejte tabulku hash s následujícími klíči:
- Název. Název proměnné. Tento klíč je povinný.
- Hodnota. Proměnná hodnota. Tento klíč je povinný.
Příklad: @{Name="WarningPreference";Value="SilentlyContinue"}
Typ: | Object |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-VisibleAliases
Omezí aliasy v relaci na tyto aliasy zadané v hodnotě tohoto parametru a všechny aliasy, které definujete v parametru AliasDefinition . Podporují se zástupné znaky. Ve výchozím nastavení jsou v relaci viditelné všechny aliasy definované modulem PowerShellu a všechny aliasy, které moduly exportují.
Pokud například chcete omezit dostupné aliasy na gm a gcm, použijte tuto syntaxi: VisibleAliases="gcm", "gp"
Pokud je do souboru funkcí role zahrnutý libovolný parametr Visible , PowerShell rutinu Import-Module
a její ipmo
alias z relace odebere.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-VisibleCmdlets
Omezí rutiny v relaci na rutiny zadané v hodnotě tohoto parametru. Podporují se zástupné znaky a kvalifikované názvy modulů.
Ve výchozím nastavení jsou všechny rutiny, které moduly v exportu relace zobrazují v relaci. Pomocí parametrů SessionType a ModulesToImport určete, které moduly a moduly snap-in se do relace importují. Pokud moduly v ModuleToImport zpřístupňují rutinu, New-PSRoleCapabilityFile
pokusí se načíst příslušný modul.
Pokud je v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module
a její ipmo
alias z relace.
Typ: | Object[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-VisibleExternalCommands
Omezuje externí binární soubory, skripty a příkazy, které se dají spustit v relaci, na ty, které jsou zadané v hodnotě tohoto parametru.
Ve výchozím nastavení nejsou v této relaci viditelné žádné externí příkazy.
Pokud je v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module
a její ipmo
alias z relace.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-VisibleFunctions
Omezuje funkce v relaci na funkce zadané v hodnotě tohoto parametru a všechny funkce, které definujete v parametru FunctionDefinitions . Podporují se zástupné znaky.
Ve výchozím nastavení jsou v této relaci viditelné všechny funkce exportované moduly v relaci. Pomocí parametrů SessionType a ModulesToImport určete, které moduly se do relace importují.
Pokud je v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module
a její ipmo
alias z relace.
Typ: | Object[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-VisibleProviders
Omezí zprostředkovatele PowerShellu v relaci na ty, které jsou zadané v hodnotě tohoto parametru. Podporují se zástupné znaky.
Ve výchozím nastavení jsou v relaci vidět všichni zprostředkovatelé exportované modulem v relaci. Pomocí parametrů SessionType a ModulesToImport určete, které moduly se do relace importují.
Pokud je v konfiguračním souboru relace zahrnutý libovolný parametr Visible , PowerShell odebere rutinu Import-Module
a její ipmo
alias z relace.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |