New-PSRoleCapabilityFile
Membuat file yang menentukan serangkaian kemampuan yang akan diekspos melalui konfigurasi sesi.
Sintaks
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>]
Deskripsi
New-PSRoleCapabilityFile
Cmdlet membuat file yang menentukan serangkaian kemampuan pengguna yang dapat diekspos melalui file konfigurasi sesi. Ini termasuk menentukan cmdlet, fungsi, dan skrip mana yang tersedia untuk pengguna. File kemampuan adalah file teks yang dapat dibaca manusia yang berisi tabel hash properti dan nilai konfigurasi sesi. File memiliki ekstensi nama file .psrc, dan dapat digunakan oleh lebih dari satu konfigurasi sesi.
Semua parameter New-PSRoleCapabilityFile
bersifat opsional kecuali untuk parameter Jalur , yang menentukan jalur untuk file. Jika Anda tidak menyertakan parameter saat menjalankan cmdlet, kunci yang sesuai dalam file konfigurasi sesi akan dikomentari, kecuali jika dicatat dalam deskripsi parameter. Misalnya, jika Anda tidak menyertakan parameter AssembliesToLoad , bagian tersebut dari file konfigurasi sesi akan dikomentari.
Untuk menggunakan file kemampuan peran dalam konfigurasi sesi, pertama-tama tempatkan file dalam subfolder RoleCapabilities dari folder modul PowerShell yang valid. Kemudian referensikan file menurut nama di bidang RoleDefinitions dalam file Konfigurasi Sesi PowerShell (.pssc).
Cmdlet ini diperkenalkan di Windows PowerShell 5.0.
Contoh
Contoh 1: Membuat file kemampuan peran kosong
Contoh ini membuat file kemampuan peran baru yang menggunakan nilai default (kosong). File nantinya dapat diedit di editor teks untuk mengubah pengaturan konfigurasi ini.
New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"
Contoh 2: Membuat file kemampuan peran yang memungkinkan pengguna untuk memulai ulang layanan dan komputer VDI apa pun
Contoh ini membuat file kemampuan peran sampel yang memungkinkan pengguna untuk memulai ulang layanan dan komputer yang cocok dengan pola nama tertentu. Pemfilteran nama ditentukan dengan mengatur parameter ValidatePattern ke ekspresi VDI\d+
reguler .
$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
Parameter
-AliasDefinitions
Menambahkan alias yang ditentukan ke sesi yang menggunakan file kemampuan peran. Masukkan tabel hash dengan kunci berikut:
- Nama. Nama alias. Kunci ini diperlukan.
- Nilai. Perintah yang diwakili alias. Kunci ini diperlukan.
- Deskripsi. String teks yang menjelaskan alias. Kunci ini bersifat opsional.
- Opsi. Opsi alias. Kunci ini bersifat opsional. Nilai default-nya adalah Tidak Ada. Nilai yang dapat diterima untuk parameter ini adalah: None, ReadOnly, Constant, Private, atau AllScope.
Misalnya: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}
Jenis: | IDictionary[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AssembliesToLoad
Menentukan rakitan yang akan dimuat ke dalam sesi yang menggunakan file kemampuan peran.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Author
Menentukan pengguna yang membuat file kemampuan peran.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-CompanyName
Mengidentifikasi perusahaan yang membuat file kemampuan peran. Nilai defaultnya adalah Tidak Diketahui.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Copyright
Menentukan hak cipta untuk file kemampuan peran. Jika Anda menghilangkan parameter ini, New-PSRoleCapabilityFile
buat pernyataan hak cipta menggunakan nilai parameter Penulis .
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Description
Menentukan deskripsi untuk file kemampuan peran.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-EnvironmentVariables
Menentukan variabel lingkungan untuk sesi yang mengekspos file kemampuan peran ini. Masukkan tabel hash di mana kunci adalah nama variabel lingkungan dan nilainya adalah nilai variabel lingkungan.
Misalnya: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}
Jenis: | IDictionary |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FormatsToProcess
Menentukan file pemformatan (.ps1xml
) yang berjalan dalam sesi yang menggunakan file kemampuan peran.
Nilai parameter ini harus berupa jalur penuh atau absolut dari file pemformatan.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FunctionDefinitions
Menambahkan fungsi yang ditentukan ke sesi yang mengekspos kemampuan peran. Masukkan tabel hash dengan kunci berikut:
- Nama. Nama fungsi. Kunci ini diperlukan.
- ScriptBlock. Isi fungsi. Masukkan blok skrip. Kunci ini diperlukan.
- Opsi. Opsi fungsi. Kunci ini bersifat opsional. Nilai default-nya adalah Tidak Ada. Nilai yang dapat diterima untuk parameter ini adalah: tidak ada, ReadOnly, Konstanta, Privat, atau AllScope.
Contohnya:
@{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}
Jenis: | IDictionary[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Guid
Menentukan pengidentifikasi unik untuk file kemampuan peran. Jika Anda menghilangkan parameter ini, New-PSRoleCapabilityFile
menghasilkan GUID untuk file tersebut. Untuk membuat GUID baru di PowerShell, ketik [guid]::NewGuid()
.
Jenis: | Guid |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ModulesToImport
Menentukan modul yang secara otomatis diimpor ke dalam sesi yang menggunakan file kemampuan peran. Secara default, semua perintah dalam modul yang tercantum terlihat. Saat digunakan dengan VisibleCmdlets atau VisibleFunctions, perintah yang terlihat dari modul yang ditentukan dapat dibatasi.
Setiap modul yang digunakan dalam nilai parameter ini dapat diwakili oleh string atau oleh tabel hash. String modul hanya terdiri dari nama modul. Tabel hash modul dapat mencakup kunci ModuleName, ModuleVersion, dan GUID . Hanya kunci ModuleName yang diperlukan.
Misalnya, nilai berikut terdiri dari string dan tabel hash. Kombinasi string dan tabel hash apa pun, dalam urutan apa pun, valid.
"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}
Jenis: | Object[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Path
Menentukan jalur dan nama file file kemampuan peran. File harus memiliki .psrc
ekstensi nama file.
Jenis: | String |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ScriptsToProcess
Menentukan skrip untuk ditambahkan ke sesi yang menggunakan file kemampuan peran. Masukkan jalur dan nama file skrip. Nilai parameter ini harus berupa jalur lengkap atau absolut dari nama file skrip.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-TypesToProcess
Menentukan file jenis (.ps1xml
) untuk ditambahkan ke sesi yang menggunakan file kemampuan peran. Masukkan nama file jenis. Nilai parameter ini harus berupa jalur lengkap atau absolut dari nama file jenis.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-VariableDefinitions
Menentukan variabel untuk ditambahkan ke sesi yang menggunakan file kemampuan peran. Masukkan tabel hash dengan kunci berikut:
- Nama. Nama variabel. Kunci ini diperlukan.
- Nilai. Nilai variabel. Kunci ini diperlukan.
Misalnya: @{Name="WarningPreference";Value="SilentlyContinue"}
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-VisibleAliases
Membatasi alias dalam sesi ke alias yang ditentukan dalam nilai parameter ini, ditambah alias apa pun yang Anda tentukan dalam parameter AliasDefinition . Karakter kartubebas didukung. Secara default, semua alias yang ditentukan oleh mesin PowerShell dan semua alias yang diekspor modul terlihat dalam sesi.
Misalnya, untuk membatasi alias yang tersedia ke gm dan gcm, gunakan sintaks ini: VisibleAliases="gcm", "gp"
Ketika parameter Terlihat disertakan dalam file kemampuan peran, PowerShell menghapus Import-Module
cmdlet dan aliasnya ipmo
dari sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleCmdlets
Membatasi cmdlet dalam sesi untuk yang ditentukan dalam nilai parameter ini. Karakter kartubebas dan Nama Yang Memenuhi Syarat Modul didukung.
Secara default, semua cmdlet yang modul dalam ekspor sesi terlihat dalam sesi. Gunakan parameter SessionType dan ModulesToImport untuk menentukan modul dan snap-in mana yang diimpor ke dalam sesi. Jika tidak ada modul dalam ModulesToImport yang mengekspos cmdlet, New-PSRoleCapabilityFile
coba muat modul yang sesuai.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan aliasnya ipmo
dari sesi.
Jenis: | Object[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleExternalCommands
Membatasi biner eksternal, skrip, dan perintah yang dapat dijalankan dalam sesi dengan yang ditentukan dalam nilai parameter ini.
Secara default, tidak ada perintah eksternal yang terlihat dalam sesi ini.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan aliasnya ipmo
dari sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-VisibleFunctions
Membatasi fungsi dalam sesi ke yang ditentukan dalam nilai parameter ini, ditambah fungsi apa pun yang Anda tentukan dalam parameter FunctionDefinitions . Karakter kartubebas didukung.
Secara default, semua fungsi yang diekspor oleh modul dalam sesi terlihat dalam sesi tersebut. Gunakan parameter SessionType dan ModulesToImport untuk menentukan modul mana yang diimpor ke dalam sesi.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan aliasnya ipmo
dari sesi.
Jenis: | Object[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleProviders
Membatasi penyedia PowerShell dalam sesi dengan yang ditentukan dalam nilai parameter ini. Karakter kartubebas didukung.
Secara default, semua penyedia yang diekspor oleh modul dalam sesi terlihat dalam sesi. Gunakan parameter SessionType dan ModulesToImport untuk menentukan modul mana yang diimpor ke dalam sesi.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan aliasnya ipmo
dari sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |