Megosztás a következőn keresztül:


New-PSRoleCapabilityFile

Létrehoz egy fájlt, amely meghatározza a munkamenet-konfiguráción keresztül közzéteendő képességek készletét.

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

A New-PSRoleCapabilityFile parancsmag létrehoz egy fájlt, amely meghatározza a munkamenet-konfigurációs fájlokon keresztül elérhető felhasználói képességek készletét. Ez magában foglalja annak meghatározását, hogy mely parancsmagok, függvények és szkriptek érhetők el a felhasználók számára. A képességfájl egy emberi olvasásra alkalmas szövegfájl, amely a munkamenet konfigurációs tulajdonságainak és értékeinek kivonattáblázatát tartalmazza. A fájl .psrc fájlnévkiterjesztéssel rendelkezik, és több munkamenet-konfiguráció is használható.

Az összes paraméter New-PSRoleCapabilityFile megadása nem kötelező, kivéve az Elérési út paramétert, amely a fájl elérési útját adja meg. Ha nem ad meg paramétert a parancsmag futtatásakor, a munkamenet-konfigurációs fájl megfelelő kulcsát megjegyzésként fűzi hozzá a rendszer, kivéve, ha a paraméter leírása fel van jegyezve. Ha például nem tartalmazza a AssembliesToLoad paramétert, a rendszer megjegyzést fűz a munkamenet-konfigurációs fájlhoz.

A szerepkör-képességfájl munkamenetkonfigurációban való használatához először helyezze a fájlt egy érvényes PowerShell-modulmappa RoleCapabilities almappájába. Ezután hivatkozzon a fájlra név szerint egy PowerShell-munkamenetkonfigurációs (.pssc) fájl RoleDefinitions mezőjében.

Ezt a parancsmagot a Windows PowerShell 5.0-ban vezettük be.

Példák

1. példa: Üres szerepkör-képességfájl létrehozása

Ez a példa létrehoz egy új szerepkör-képességfájlt, amely az alapértelmezett (üres) értékeket használja. A fájl később szerkeszthető egy szövegszerkesztőben a konfigurációs beállítások módosításához.

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

2. példa: Szerepkör-képességfájl létrehozása, amely lehetővé teszi a felhasználók számára a szolgáltatások és bármely VDI-számítógép újraindítását

Ez a példa egy példaszerepkör-képességfájlt hoz létre, amely lehetővé teszi a felhasználók számára egy adott névmintának megfelelő szolgáltatások és számítógépek újraindítását. A névszűrés úgy van definiálva, hogy a ValidatePattern paramétert a normál kifejezésre VDI\d+állítja.

$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

Paraméterek

-AliasDefinitions

Hozzáadja a megadott aliasokat a szerepkör-képességfájlt használó munkamenetekhez. Adjon meg egy kivonattáblát a következő kulcsokkal:

  • Név. Az alias neve. Ez a kulcs szükséges.
  • Érték. Az alias által képviselt parancs. Ez a kulcs szükséges.
  • Leírás. Az aliast leíró szöveges sztring. Ez a kulcs nem kötelező.
  • Beállítások. Aliasbeállítások. Ez a kulcs nem kötelező. Az alapértelmezett érték Nincs. A paraméter elfogadható értékei a következők: None, ReadOnly, Constant, Private vagy AllScope.

Például: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}

Típus:IDictionary[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-AssembliesToLoad

Megadja a szerepkör-képességfájlt használó munkamenetekbe betöltendő szerelvényeket.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Author

Megadja a szerepkör-képességfájlt létrehozó felhasználót.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-CompanyName

Azonosítja a szerepkör-képességfájlt létrehozó vállalatot. Az alapértelmezett érték Ismeretlen.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

A szerepkör-képességfájl szerzői jogának megadása. Ha kihagyja ezt a paramétert, New-PSRoleCapabilityFile létrehoz egy szerzői jogi nyilatkozatot a Szerző paraméter értékével.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Description

Megadja a szerepkör-képességfájl leírását.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-EnvironmentVariables

Megadja azoknak a munkameneteknek a környezeti változóit, amelyek elérhetővé teszik ezt a szerepkör-képességfájlt. Adjon meg egy kivonattáblát, amelyben a kulcsok a környezeti változók nevei, az értékek pedig a környezeti változó értékei.

Például: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Típus:IDictionary
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-FormatsToProcess

Megadja a szerepkör-képességfájlt használó munkamenetekben futtatott formázási fájlokat (.ps1xml). A paraméter értékének a formázási fájlok teljes vagy abszolút elérési útjának kell lennie.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-FunctionDefinitions

Hozzáadja a megadott függvényeket a szerepkör-képességet elérhetővé tevő munkamenetekhez. Adjon meg egy kivonattáblát a következő kulcsokkal:

  • Név. A függvény neve. Ez a kulcs szükséges.
  • ScriptBlock. Függvény törzse. Adjon meg egy szkriptblokkot. Ez a kulcs szükséges.
  • Beállítások. Függvénybeállítások. Ez a kulcs nem kötelező. Az alapértelmezett érték Nincs. A paraméter elfogadható értékei a következők: None, ReadOnly, Constant, Private vagy AllScope.

Példa:

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

Típus:IDictionary[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Guid

A szerepkör-képességfájl egyedi azonosítójának megadása. Ha kihagyja ezt a paramétert, New-PSRoleCapabilityFile létrehoz egy GUID azonosítót a fájlhoz. Ha új GUID-t szeretne létrehozni a PowerShellben, írja be a következőt [guid]::NewGuid(): .

Típus:Guid
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ModulesToImport

Megadja a szerepkör-képességfájlt használó munkamenetekbe automatikusan importált modulokat. Alapértelmezés szerint a felsorolt modulok összes parancsa látható. VisibleCmdlets vagy VisibleFunctions használatakor a megadott modulokból látható parancsok korlátozhatók.

A paraméter értékében használt minden modult egy sztring vagy egy kivonattábla jelölhet. A modul sztringje csak a modul nevéből áll. A modulkivonattáblák tartalmazhatnak ModuleName, ModuleVersion és GUID kulcsokat. Csak a ModuleName kulcs szükséges.

A következő érték például egy sztringből és egy kivonattáblából áll. A sztringek és kivonattáblák tetszőleges kombinációja bármilyen sorrendben érvényes.

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

Típus:Object[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Path

Megadja a szerepkör-képességfájl elérési útját és fájlnevét. A fájlnak fájlnévkiterjesztéssel .psrc kell rendelkeznie.

Típus:String
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ScriptsToProcess

Megadja a szerepkör-képességfájlt használó munkamenetekhez hozzáadni kívánt szkripteket. Adja meg a szkriptek elérési útját és fájlneveit. A paraméter értékének a szkriptfájlnevek teljes vagy abszolút elérési útjának kell lennie.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-TypesToProcess

Megadja a szerepkör-képességfájlt használó munkamenetekhez hozzáadni kívánt típusfájlokat (.ps1xml). Adja meg a típusfájlneveket. A paraméter értékének a fájlnevek típusának teljes vagy abszolút elérési útjának kell lennie.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VariableDefinitions

Meghatározza a szerepkör-képességfájlt használó munkamenetekhez hozzáadni kívánt változókat. Adjon meg egy kivonattáblát a következő kulcsokkal:

  • Név. A változó neve. Ez a kulcs szükséges.
  • Érték. Változó értéke. Ez a kulcs szükséges.

Például: @{Name="WarningPreference";Value="SilentlyContinue"}

Típus:Object
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VisibleAliases

A munkamenet aliasait a paraméter értékében megadott aliasokra korlátozza, valamint az AliasDefinition paraméterben definiált aliasokat. A helyettesítő karakterek támogatottak. Alapértelmezés szerint a PowerShell-motor által definiált összes alias és a modulok által exportált összes alias látható a munkamenetben.

Ha például a rendelkezésre álló aliasokat a gm és a gcm értékre szeretné korlátozni, használja ezt a szintaxist: VisibleAliases="gcm", "gp"

Ha egy látható paraméter szerepel a szerepkör-képességfájlban, a PowerShell eltávolítja a Import-Module parancsmagot és annak aliasát ipmo a munkamenetből.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-VisibleCmdlets

A munkamenet parancsmagjait a paraméter értékében megadottakra korlátozza. A helyettesítő karakterek és a modul minősített nevei támogatottak.

Alapértelmezés szerint a munkamenet-exportálásban szereplő modulok összes parancsmagja látható a munkamenetben. A SessionType és ModulesToImport paraméterekkel meghatározhatja, hogy mely modulok és beépülő modulok legyenek importálva a munkamenetbe. Ha a ModulesToImport egyik modulja sem teszi elérhetővé a parancsmagot, New-PSRoleCapabilityFile próbálja betölteni a megfelelő modult.

Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module parancsmagot és annak aliasát ipmo a munkamenetből.

Típus:Object[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-VisibleExternalCommands

A munkamenetben végrehajtható külső bináris fájlokat, szkripteket és parancsokat a paraméter értékében megadottakra korlátozza.

Ebben a munkamenetben alapértelmezés szerint nem láthatók külső parancsok.

Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module parancsmagot és annak aliasát ipmo a munkamenetből.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VisibleFunctions

A munkamenetben lévő függvényeket a paraméter értékében megadottakra korlátozza, valamint a FunctionDefinitions paraméterben definiált összes függvényt . A helyettesítő karakterek támogatottak.

Alapértelmezés szerint a munkamenet moduljai által exportált összes függvény látható az adott munkamenetben. A SessionType és ModulesToImport paraméterekkel meghatározhatja, hogy mely modulok legyenek importálva a munkamenetbe.

Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module parancsmagot és annak aliasát ipmo a munkamenetből.

Típus:Object[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-VisibleProviders

A munkamenet PowerShell-szolgáltatóinak korlátozása a paraméter értékében megadottakra. A helyettesítő karakterek támogatottak.

Alapértelmezés szerint a munkamenet egy modulja által exportált összes szolgáltató látható a munkamenetben. A SessionType és ModulesToImport paraméterekkel meghatározhatja, hogy mely modulok legyenek importálva a munkamenetbe.

Ha a munkamenet-konfigurációs fájl tartalmaz egy látható paramétert, a PowerShell eltávolítja a Import-Module parancsmagot és annak aliasát ipmo a munkamenetből.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True