New-PSRoleCapabilityFile
Tworzy plik, który definiuje zestaw możliwości, które mają być uwidocznione za pośrednictwem konfiguracji sesji.
Składnia
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 New-PSRoleCapabilityFile
cmdlet 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ślanie, 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 są New-PSRoleCapabilityFile
opcjonalne z wyjątkiem parametru Ścieżka , który określa ścieżkę pliku dla pliku. Jeśli nie dołączysz parametru podczas uruchamiania polecenia cmdlet, odpowiedni klucz w pliku konfiguracji sesji zostanie skomentowany, z wyjątkiem sytuacji, w której został zanotowany w opisie parametru. Jeśli na przykład nie dołączysz parametru AssembliesToLoad , ta sekcja pliku konfiguracji sesji zostanie oznaczona jako komentarz.
Aby użyć pliku możliwości roli w konfiguracji sesji, najpierw umieść plik w podfolderze RoleCapabilities prawidłowego folderu modułu programu PowerShell. Następnie odwołaj się do pliku według nazwy w polu RoleDefinitions w pliku Konfiguracji sesji programu PowerShell (pssc).
To polecenie cmdlet zostało wprowadzone w Windows PowerShell 5.0.
Przykłady
Przykład 1: Twórca pusty plik możliwości roli
W tym przykładzie zostanie utworzony 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: Twórca plik możliwości roli umożliwiający użytkownikom ponowne uruchamianie usług i dowolny komputer VDI
W tym przykładzie zostanie utworzony 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 nazw. Filtrowanie nazw jest definiowane przez ustawienie parametru ValidatePattern na wyrażenie VDI\d+
regularne .
$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.
Na przykład: @{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
Określa zestawy do załadowania do sesji, które używają pliku możliwości roli.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Author
Określa użytkownika, który utworzył plik możliwości roli.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompanyName
Identyfikuje firmę, która utworzyła plik możliwości roli. Wartość domyślna to Nieznany.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
Określa prawa autorskie do pliku możliwości roli. Jeśli pominiesz ten parametr, New-PSRoleCapabilityFile
wygeneruje oświadczenie o prawach autorskich przy użyciu wartości parametru Author .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Określa opis pliku możliwości roli.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Na przykład: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
- ScriptBlock. 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.
Na przykład:
@{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
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()
.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 elementami VisibleCmdlets lub VisibleFunctions polecenia widoczne w określonych modułach 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ć klucze ModuleName, ModuleVersion i GUID . Wymagany jest tylko klucz ModuleName .
Na przykład następująca wartość składa się z ciągu i tabeli skrótu. Każda 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"}
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Określa ścieżkę i nazwę pliku funkcji roli. Plik musi mieć .psrc
rozszerzenie nazwy pliku.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptsToProcess
Określa skrypty, które mają zostać dodane 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypesToProcess
Określa pliki typów (ps1xml), które mają zostać dodane 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ą nazwy plików typu.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VariableDefinitions
Określa zmienne, które mają zostać dodane 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. Opcje zmiennych. Ten klucz jest opcjonalny. Wartość domyślna to Brak. Dopuszczalne wartości tego parametru to: None, ReadOnly, Constant, Private lub AllScope.
Na przykład: @{Name="WarningPreference";Value="SilentlyContinue";Options="AllScope"}
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VisibleAliases
Ogranicza aliasy w sesji do tych aliasów określonych w wartości tego parametru, a także wszelkie aliasy zdefiniowane w parametrze AliasDefinition . 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 polecenia 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 Import-Module
polecenie cmdlet i jego ipmo
alias z sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-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 polecenie cmdlet nie zawiera żadnych modułów w moduleToImport , New-PSRoleCapabilityFile
spróbuje załadować odpowiedni moduł.
Jeśli dowolny parametr Visible jest uwzględniony w pliku konfiguracji sesji, program PowerShell usuwa Import-Module
polecenie cmdlet i jego ipmo
alias z sesji.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-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 Import-Module
polecenie cmdlet i jego ipmo
alias z sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VisibleFunctions
Ogranicza funkcje w sesji do funkcji określonych w wartości tego parametru oraz wszystkich funkcji zdefiniowanych 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 Import-Module
polecenie cmdlet i jego ipmo
alias z sesji.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-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 Import-Module
polecenie cmdlet i jego ipmo
alias z sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |