New-PSRoleCapabilityFile

Vytvoří soubor, který definuje sadu funkcí, které se mají zpřístupnit prostřednictvím konfigurace relace.

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

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ý.
  • Možnosti. 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"}

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

-AssembliesToLoad

Určuje sestavení, která se mají načíst do relací, které používají soubor funkcí role.

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

-Author

Určuje uživatele, který vytvořil soubor funkcí role.

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

-CompanyName

Identifikuje společnost, která vytvořila soubor funkcí role. Výchozí hodnota je Neznámá.

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

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 .

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

-Description

Určuje popis souboru schopností role.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ý.
  • Možnosti. 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"}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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().

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

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

-Path

Určuje cestu a název souboru schopností role. Soubor musí mít příponu .psrc názvu souboru.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ů.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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