Bagikan melalui


New-PSRoleCapabilityFile

Membuat file yang menentukan serangkaian kemampuan yang akan diekspos melalui konfigurasi sesi.

Sintaks

Default (Default)

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

cmdlet New-PSRoleCapabilityFile 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 maka bagian file konfigurasi sesi tersebut akan dikomentari.

Untuk menggunakan file kemampuan peran dalam konfigurasi sesi, pertama-tama tempatkan file dalam RoleCapabilities subfolder 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 reguler 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

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.
  • Pilihan. Opsi alias. Kunci ini bersifat opsional. Nilai defaultnya 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"}

Properti parameter

Jenis:

IDictionary[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-AssembliesToLoad

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

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Author

Menentukan pengguna yang membuat file kemampuan peran.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-CompanyName

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

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

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

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Description

Menentukan deskripsi untuk file kemampuan peran.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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"}

Properti parameter

Jenis:IDictionary
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-FunctionDefinitions

Menambahkan fungsi yang ditentukan ke sesi yang mengekspos kemampuan peran. Masukkan tabel hash dengan kunci berikut:

  • Nama. Nama fungsi. Kunci ini diperlukan.
  • Blok Skrip. Isi fungsi. Masukkan blok skrip. Kunci ini diperlukan.
  • Pilihan. Opsi fungsi. Kunci ini bersifat opsional. Nilai defaultnya 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"}

Properti parameter

Jenis:

IDictionary[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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().

Properti parameter

Jenis:Guid
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 menyertakan ModuleName, ModuleVersion, dan kunci 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"}

Properti parameter

Jenis:

Object[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

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

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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"}

Properti parameter

Jenis:Object
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 cmdlet Import-Module dan alias ipmo dari sesi.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-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 di modul ToImport mengekspos cmdlet, New-PSRoleCapabilityFile mencoba memuat modul yang sesuai.

Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus cmdlet Import-Module dan alias ipmo dari sesi.

Properti parameter

Jenis:

Object[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-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 cmdlet Import-Module dan alias ipmo dari sesi.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 cmdlet Import-Module dan alias ipmo dari sesi.

Properti parameter

Jenis:

Object[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-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 cmdlet Import-Module dan alias ipmo dari sesi.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.