Udostępnij przez


New-PSRoleCapabilityFile

Tworzy plik, który definiuje zestaw możliwości, które mają być uwidocznione za pośrednictwem konfiguracji sesji.

Składnia

Default (domyślnie)

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>]

Opis

Polecenie cmdlet New-PSRoleCapabilityFile tworzy plik, który definiuje zestaw możliwości użytkownika, które można uwidocznić za pośrednictwem plików konfiguracji sesji. Obejmuje to określenie, które polecenia cmdlet, funkcje i skrypty są dostępne dla użytkowników. Plik możliwości to plik tekstowy czytelny dla człowieka, który zawiera tabelę skrótów właściwości i wartości konfiguracji sesji. Plik ma rozszerzenie nazwy pliku psrc i może być używany przez więcej niż jedną konfigurację sesji.

Wszystkie parametry New-PSRoleCapabilityFile są opcjonalne, z wyjątkiem parametru Path , który określa ścieżkę do pliku. Jeśli parametr nie zostanie uwzględniony podczas uruchamiania polecenia cmdlet, odpowiadający mu klucz w pliku konfiguracji sesji zostanie oznaczony jako komentarz, z wyjątkiem sytuacji, w których zaznaczono to w opisie parametru. Jeśli na przykład parametr AssembliesToLoad nie zostanie uwzględniony, ta sekcja pliku konfiguracji sesji zostanie oznaczona jako komentarz.

Aby użyć pliku możliwości roli w konfiguracji sesji, najpierw umieść plik w RoleCapabilities podfolder prawidłowego folderu modułu programu PowerShell. Następnie odwołuj się do pliku według nazwy w polu RoleDefinitions w pliku konfiguracji sesji programu PowerShell (pssc).

To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 5.0.

Przykłady

Przykład 1. Tworzenie pustego pliku możliwości roli

W tym przykładzie tworzony jest nowy plik możliwości roli, który używa domyślnych (pustych) wartości. Plik można później edytować w edytorze tekstów, aby zmienić te ustawienia konfiguracji.

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

Przykład 2: Tworzenie pliku funkcji roli umożliwiającego użytkownikom ponowne uruchamianie usług i dowolnego komputera VDI

W tym przykładzie tworzony jest przykładowy plik możliwości roli, który umożliwia użytkownikom ponowne uruchamianie usług i komputerów pasujących do określonego wzorca nazwy. Filtrowanie nazw jest definiowane przez ustawienie parametru ValidatePattern na wyrażenie regularne 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

Dodaje określone aliasy do sesji korzystających z pliku możliwości roli. Wprowadź tabelę skrótów z następującymi kluczami:

  • Nazwa. Nazwa aliasu. Ten klucz jest wymagany.
  • Wartość. Polecenie, które reprezentuje alias. Ten klucz jest wymagany.
  • Opis. Ciąg tekstowy opisujący alias. Ten klucz jest opcjonalny.
  • Opcje. Opcje aliasu. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.

Przykład: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}

Właściwości parametru

Typ:

IDictionary[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-AssembliesToLoad

Określa zestawy, które mają być ładowane do sesji korzystających z pliku możliwości roli.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Author

Określa użytkownika, który utworzył plik możliwości roli.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-CompanyName

Identyfikuje firmę, która utworzyła plik możliwości roli. Wartość domyślna to Nieznany.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

Określa prawa autorskie do pliku możliwości roli. Jeśli pominiesz ten parametr, New-PSRoleCapabilityFile generuje oświadczenie o prawach autorskich przy użyciu wartości parametru Author.

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Description

Określa opis pliku możliwości roli.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-EnvironmentVariables

Określa zmienne środowiskowe dla sesji, które uwidaczniają ten plik możliwości roli. Wprowadź tabelę skrótów, w której klucze są nazwami zmiennych środowiskowych, a wartości są wartościami zmiennych środowiskowych.

Przykład: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Właściwości parametru

Typ:IDictionary
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-FormatsToProcess

Określa pliki formatowania (.ps1xml), które są uruchamiane w sesjach korzystających z pliku możliwości roli. Wartość tego parametru musi być pełną lub bezwzględną ścieżką plików formatowania.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-FunctionDefinitions

Dodaje określone funkcje do sesji, które uwidaczniają możliwość roli. Wprowadź tabelę skrótów z następującymi kluczami:

  • Nazwa. Nazwa funkcji. Ten klucz jest wymagany.
  • Blok skryptu. Treść funkcji. Wprowadź blok skryptu. Ten klucz jest wymagany.
  • Opcje. Opcje funkcji. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.

Przykład:

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

Właściwości parametru

Typ:

IDictionary[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Guid

Określa unikatowy identyfikator pliku możliwości roli. Jeśli ten parametr zostanie pominięty, New-PSRoleCapabilityFile wygeneruje identyfikator GUID dla pliku. Aby utworzyć nowy identyfikator GUID w programie PowerShell, wpisz [guid]::NewGuid().

Właściwości parametru

Typ:Guid
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ModulesToImport

Określa moduły, które są automatycznie importowane do sesji korzystających z pliku możliwości roli. Domyślnie wszystkie polecenia w wymienionych modułach są widoczne. W przypadku użycia z VisibleCmdlets lub VisibleFunctionspolecenia widoczne z określonych modułów mogą być ograniczone.

Każdy moduł używany w wartości tego parametru może być reprezentowany przez ciąg lub tabelę skrótów. Ciąg modułu składa się tylko z nazwy modułu. Tabela skrótów modułów może zawierać ModuleName, ModuleVersioni identyfikator GUID kluczy. Wymagany jest tylko klucz ModuleName.

Na przykład następująca wartość składa się z ciągu i tabeli skrótów. Dowolna kombinacja ciągów i tabel skrótów w dowolnej kolejności jest prawidłowa.

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

Właściwości parametru

Typ:

Object[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Path

Określa ścieżkę i nazwę pliku funkcji roli. Plik musi mieć rozszerzenie nazwy pliku .psrc.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ScriptsToProcess

Określa skrypty do dodania do sesji korzystających z pliku możliwości roli. Wprowadź ścieżkę i nazwy plików skryptów. Wartość tego parametru musi być pełną lub bezwzględną ścieżką nazw plików skryptu.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-TypesToProcess

Określa pliki typu (.ps1xml), które mają być dodawane do sesji korzystających z pliku możliwości roli. Wprowadź nazwy plików typu. Wartość tego parametru musi być pełną lub bezwzględną ścieżką nazw plików typu.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VariableDefinitions

Określa zmienne do dodania do sesji korzystających z pliku możliwości roli. Wprowadź tabelę skrótów z następującymi kluczami:

  • Nazwa. Nazwa zmiennej. Ten klucz jest wymagany.
  • Wartość. Wartość zmiennej. Ten klucz jest wymagany.
  • Opcje. Zmienne opcje. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.

Przykład: @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}

Właściwości parametru

Typ:Object
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VisibleAliases

Ogranicza aliasy w sesji do tych aliasów określonych w wartości tego parametru, a także wszelkie aliasy zdefiniowane w AliasDefinition parametru. Obsługiwane są symbole wieloznaczne. Domyślnie wszystkie aliasy zdefiniowane przez aparat programu PowerShell i wszystkie aliasy eksportowane przez moduły są widoczne w sesji.

Aby na przykład ograniczyć dostępne aliasy do gm i gcm, użyj następującej składni: VisibleAliases="gcm", "gp"

Jeśli dowolny parametr Visible jest uwzględniony w pliku możliwości roli, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VisibleCmdlets

Ogranicza polecenia cmdlet w sesji do tych określonych w wartości tego parametru. Obsługiwane są symbole wieloznaczne i kwalifikowane nazwy modułu.

Domyślnie wszystkie polecenia cmdlet, które moduły w eksporcie sesji są widoczne w sesji. Użyj parametrów SessionType i ModulesToImport, aby określić, które moduły i przystawki są importowane do sesji. Jeśli żadne moduły w ModulesToImport uwidocznić polecenie cmdlet, New-PSRoleCapabilityFile spróbuje załadować odpowiedni moduł.

Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.

Właściwości parametru

Typ:

Object[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VisibleExternalCommands

Ogranicza zewnętrzne pliki binarne, skrypty i polecenia, które można wykonać w sesji do tych określonych w wartości tego parametru.

Domyślnie w tej sesji nie są widoczne żadne polecenia zewnętrzne.

Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VisibleFunctions

Ogranicza funkcje w sesji do tych określonych w wartości tego parametru, a także wszystkie funkcje zdefiniowane w parametrze FunctionDefinitions. Obsługiwane są symbole wieloznaczne.

Domyślnie wszystkie funkcje wyeksportowane przez moduły w sesji są widoczne w tej sesji. Użyj parametrów SessionType i ModulesToImport, aby określić, które moduły są importowane do sesji.

Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.

Właściwości parametru

Typ:

Object[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VisibleProviders

Ogranicza dostawców programu PowerShell w sesji do tych określonych w wartości tego parametru. Obsługiwane są symbole wieloznaczne.

Domyślnie wszyscy dostawcy wyeksportowani przez moduł w sesji są widoczni w sesji. Użyj parametrów SessionType i ModulesToImport, aby określić, które moduły są importowane do sesji.

Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa polecenie cmdlet Import-Module i jego alias ipmo z sesji.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.