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ś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
programu są opcjonalne, z wyjątkiem parametru Path , który określa ścieżkę pliku. Jeśli nie dołączysz parametru podczas uruchamiania polecenia cmdlet, odpowiedni klucz w pliku konfiguracji sesji jest komentowany, z wyjątkiem sytuacji, w których określono w opisie parametru. Jeśli na przykład nie dołączysz parametru AssembliesToLoad , oznacza to, że 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 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 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:
- Name. 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"}
.
Typ: | IDictionary[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AssembliesToLoad
Określa zestawy, które mają być ładowane do sesji korzystających z pliku możliwości roli.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Author
Określa użytkownika, który utworzył plik możliwości roli.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CompanyName
Identyfikuje firmę, która utworzyła plik możliwości roli. Wartość domyślna to Nieznany.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Copyright
Określa prawa autorskie do pliku możliwości roli. Jeśli ten parametr zostanie pominięty, New-PSRoleCapabilityFile
wygeneruje oświadczenie o prawach autorskich przy użyciu wartości parametru Author .
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Określa opis pliku możliwości roli.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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"}
.
Typ: | IDictionary |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-FunctionDefinitions
Dodaje określone funkcje do sesji, które uwidaczniają możliwość roli. Wprowadź tabelę skrótów z następującymi kluczami:
- Name. 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"}
Typ: | IDictionary[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Guid
Określa unikatowy identyfikator pliku możliwości roli. Jeśli ten parametr zostanie pominięty, New-PSRoleCapabilityFile
wygeneruje identyfikator GUID pliku. Aby utworzyć nowy identyfikator GUID w programie PowerShell, wpisz [guid]::NewGuid()
.
Typ: | Guid |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 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ć 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ó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"}
Typ: | Object[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Path
Określa ścieżkę i nazwę pliku funkcji roli. Plik musi mieć .psrc
rozszerzenie nazwy pliku.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-TypesToProcess
Określa pliki typu (.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ą nazw plików typu.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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:
- Name. Nazwa zmiennej. Ten klucz jest wymagany.
- Wartość. Wartość zmiennej. Ten klucz jest wymagany.
Na przykład: @{Name="WarningPreference";Value="SilentlyContinue"}
.
Typ: | Object |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-VisibleAliases
Ogranicza aliasy w sesji do tych aliasów określonych w wartości tego parametru, a także wszystkie aliasy zdefiniowane w aliasie parametru 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 gm i gcm, użyj następującej składni: VisibleAliases="gcm", "gp"
Gdy 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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 żadne moduły w moduleToImport nie uwidacznia polecenia cmdlet, 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.
Typ: | Object[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-VisibleFunctions
Ogranicza funkcje w sesji do tych 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.
Typ: | Object[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |