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"}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssembliesToLoad

Menentukan rakitan yang akan dimuat ke dalam sesi yang menggunakan file kemampuan peran.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Author

Menentukan pengguna yang membuat file kemampuan peran.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompanyName

Mengidentifikasi perusahaan yang membuat file kemampuan peran. Nilai defaultnya adalah Tidak Diketahui.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Menentukan hak cipta untuk file kemampuan peran. Jika Anda menghilangkan parameter ini, New-PSRoleCapabilityFile buat pernyataan hak cipta menggunakan nilai parameter Penulis .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Menentukan deskripsi untuk file kemampuan peran.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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().

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Menentukan jalur dan nama file file kemampuan peran. File harus memiliki .psrc ekstensi nama file.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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"}

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True