New-PSRoleCapabilityFile

Oturum yapılandırması aracılığıyla kullanıma sunulacak bir özellik kümesini tanımlayan bir dosya oluşturur.

Syntax

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>]

Description

cmdlet'i New-PSRoleCapabilityFile , oturum yapılandırma dosyaları aracılığıyla kullanıma sunulan bir kullanıcı özellikleri kümesini tanımlayan bir dosya oluşturur. Bu, kullanıcılara hangi cmdlet'lerin, işlevlerin ve betiklerin kullanılabilir olduğunu belirlemeyi içerir. Yetenek dosyası, oturum yapılandırma özelliklerinin ve değerlerinin karma tablosunu içeren, insan tarafından okunabilen bir metin dosyasıdır. Dosya bir .psrc dosya adı uzantısına sahiptir ve birden fazla oturum yapılandırması tarafından kullanılabilir.

tüm parametreleriNew-PSRoleCapabilityFile, dosyanın yolunu belirten Path parametresi dışında isteğe bağlıdır. Cmdlet'ini çalıştırdığınızda parametre eklemezseniz, parametre açıklamasında belirtilenler dışında oturum yapılandırma dosyasındaki ilgili anahtar açıklama satırı yapılır. Örneğin AssembliesToLoad parametresini eklemezseniz oturum yapılandırma dosyasının bu bölümü açıklama satırı yapılır.

Rol özelliği dosyasını bir oturum yapılandırmasında kullanmak için, önce dosyayı geçerli bir PowerShell modül klasörünün RoleCapabilities alt klasörüne yerleştirin. Ardından bir PowerShell Oturum Yapılandırması (.pssc) dosyasındaki RoleDefinitions alanında dosyaya ada göre başvurun.

Bu cmdlet, Windows PowerShell 5.0'da kullanıma sunulmuştur.

Örnekler

Örnek 1: Boş rol yetenek dosyası oluşturma

Bu örnek, varsayılan (boş) değerleri kullanan yeni bir rol özelliği dosyası oluşturur. Dosya daha sonra bu yapılandırma ayarlarını değiştirmek için bir metin düzenleyicisinde düzenlenebilir.

New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"

Örnek 2: Kullanıcıların hizmetleri ve herhangi bir VDI bilgisayarı yeniden başlatmasına olanak sağlayan bir rol özelliği dosyası oluşturma

Bu örnek, kullanıcıların belirli bir ad desenine uyan hizmetleri ve bilgisayarları yeniden başlatmasını sağlayan örnek bir rol yetenek dosyası oluşturur. Ad filtreleme, ValidatePattern parametresi normal ifade VDI\d+olarak ayarlanarak tanımlanır.

$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

Parametreler

-AliasDefinitions

Belirtilen diğer adları rol yetenek dosyasını kullanan oturumlara ekler. Aşağıdaki anahtarlara sahip bir karma tablo girin:

  • Adı. Diğer adın adı. Bu anahtar gereklidir.
  • Değer. Diğer adın temsil ettiği komut. Bu anahtar gereklidir.
  • Açıklama. Diğer adı açıklayan bir metin dizesi. Bu anahtar isteğe bağlıdır.
  • Seçenekler. Diğer ad seçenekleri. Bu anahtar isteğe bağlıdır. Varsayılan değer olarak Hiçbiri kullanılır. Bu parametre için kabul edilebilir değerler şunlardır: None, ReadOnly, Constant, Private veya AllScope.

Örneğin: @{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

Rol yetenek dosyasını kullanan oturumlara yüklenecek derlemeleri belirtir.

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

-Author

Rol yetenek dosyasını oluşturan kullanıcıyı belirtir.

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

-CompanyName

Rol yetenek dosyasını oluşturan şirketi tanımlar. Varsayılan değer Bilinmiyor'dur.

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

Rol yeteneği dosyası için bir telif hakkı belirtir. Bu parametreyi atlarsanız Author New-PSRoleCapabilityFile parametresinin değerini kullanarak bir telif hakkı bildirimi oluşturur.

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

-Description

Rol özelliği dosyası için bir açıklama belirtir.

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

-EnvironmentVariables

Bu rol yetenek dosyasını kullanıma sunan oturumlar için ortam değişkenlerini belirtir. Anahtarların ortam değişkeni adları ve değerlerin ortam değişkeni değerleri olduğu bir karma tablo girin.

Örneğin: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

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

-FormatsToProcess

Rol yetenek dosyasını kullanan oturumlarda çalışan biçimlendirme dosyalarını (.ps1xml) belirtir. Bu parametrenin değeri, biçimlendirme dosyalarının tam veya mutlak yolu olmalıdır.

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

-FunctionDefinitions

Belirtilen işlevleri rol özelliğini kullanıma sunan oturumlara ekler. Aşağıdaki anahtarlara sahip bir karma tablo girin:

  • Adı. İşlevin adı. Bu anahtar gereklidir.
  • ScriptBlock. İşlev gövdesi. Bir betik bloğu girin. Bu anahtar gereklidir.
  • Seçenekler. İşlev seçenekleri. Bu anahtar isteğe bağlıdır. Varsayılan değer olarak Hiçbiri kullanılır. Bu parametre için kabul edilebilir değerler şunlardır: None, ReadOnly, Constant, Private veya AllScope.

Örneğin:

@{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

Rol özelliği dosyası için benzersiz bir tanımlayıcı belirtir. Bu parametreyi atlarsanız, New-PSRoleCapabilityFile dosya için bir GUID oluşturur. PowerShell'de yeni bir GUID oluşturmak için yazın [guid]::NewGuid().

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

-ModulesToImport

Rol yetenek dosyasını kullanan oturumlara otomatik olarak içeri aktarılan modülleri belirtir. Varsayılan olarak, listelenen modüllerdeki tüm komutlar görünür. VisibleCmdlet'ler veya VisibleFunctions ile kullanıldığında, belirtilen modüllerden görünen komutlar kısıtlanabilir.

Bu parametrenin değerinde kullanılan her modül bir dize veya karma tabloyla temsil edilebilir. Modül dizesi yalnızca modülün adından oluşur. Modül karma tablosu ModuleName, ModuleVersion ve GUID anahtarlarını içerebilir. Yalnızca ModuleName anahtarı gereklidir.

Örneğin, aşağıdaki değer bir dize ve karma tablodan oluşur. Dizelerin ve karma tabloların herhangi bir sırayla birleşimi geçerli olur.

"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

Rol yeteneği dosyasının yolunu ve dosya adını belirtir. Dosyanın bir .psrc dosya adı uzantısı olmalıdır.

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

-ScriptsToProcess

Rol yetenek dosyasını kullanan oturumlara eklenecek betikleri belirtir. Betiklerin yolunu ve dosya adlarını girin. Bu parametrenin değeri, betik dosyası adlarının tam veya mutlak yolu olmalıdır.

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

-TypesToProcess

Rol yetenek dosyasını kullanan oturumlara eklenecek tür dosyalarını (.ps1xml) belirtir. Dosya adlarını yazın. Bu parametrenin değeri, dosya adlarının türü için tam veya mutlak bir yol olmalıdır.

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

-VariableDefinitions

Rol yetenek dosyasını kullanan oturumlara eklenecek değişkenleri belirtir. Aşağıdaki anahtarlara sahip bir karma tablo girin:

  • Adı. Değişkenin adı. Bu anahtar gereklidir.
  • Değer. Değişken değeri. Bu anahtar gereklidir.

Örneğin: @{Name="WarningPreference";Value="SilentlyContinue"}

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

-VisibleAliases

Oturumdaki diğer adları bu parametrenin değerinde belirtilen diğer adlarla ve AliasDefinition parametresinde tanımladığınız diğer adlarla sınırlar. Joker karakterler desteklenmektedir. Varsayılan olarak, PowerShell altyapısı tarafından tanımlanan tüm diğer adlar ve modüllerin dışarı aktardığı tüm diğer adlar oturumda görünür.

Örneğin, kullanılabilir diğer adları gm ve gcm ile sınırlamak için şu söz dizimini kullanın: VisibleAliases="gcm", "gp"

Rol yeteneği dosyasına herhangi bir Visible parametresi eklendiğinde, PowerShell cmdlet'ini Import-Module ve ipmo diğer adını oturumdan kaldırır.

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

-VisibleCmdlets

Oturumdaki cmdlet'leri bu parametrenin değerinde belirtilenlerle sınırlar. Joker karakterler ve Modül Nitelenmiş Adları desteklenir.

Varsayılan olarak, oturum dışarı aktarmadaki modüllerin tüm cmdlet'leri oturumda görünür. Oturuma hangi modüllerin ve ek bileşenin içeri aktarılacağını belirlemek için SessionType ve ModulesToImport parametrelerini kullanın. ModulesToImport'ta cmdlet'i kullanıma sunan modül yoksa uygun New-PSRoleCapabilityFile modülü yüklemeyi dener.

Oturum yapılandırma dosyasına herhangi bir Visible parametresi eklendiğinde, PowerShell cmdlet'ini Import-Module ve ipmo diğer adını oturumdan kaldırır.

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

-VisibleExternalCommands

Oturumda yürütülebilecek dış ikili dosyaları, betikleri ve komutları bu parametrenin değerinde belirtilenlerle sınırlar.

Varsayılan olarak, bu oturumda hiçbir dış komut görünmez.

Oturum yapılandırma dosyasına herhangi bir Visible parametresi eklendiğinde, PowerShell cmdlet'ini Import-Module ve ipmo diğer adını oturumdan kaldırır.

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

-VisibleFunctions

Oturumdaki işlevleri bu parametrenin değerinde belirtilenlerle ve FunctionDefinitions parametresinde tanımladığınız işlevlerle sınırlar. Joker karakterler desteklenmektedir.

Varsayılan olarak, oturumdaki modüller tarafından dışarı aktarılan tüm işlevler bu oturumda görünür. Oturuma hangi modüllerin içeri aktarılacağını belirlemek için SessionType ve ModulesToImport parametrelerini kullanın.

Oturum yapılandırma dosyasına herhangi bir Visible parametresi eklendiğinde, PowerShell cmdlet'ini Import-Module ve ipmo diğer adını oturumdan kaldırır.

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

-VisibleProviders

Oturumdaki PowerShell sağlayıcılarını bu parametrenin değerinde belirtilenlerle sınırlar. Joker karakterler desteklenmektedir.

Varsayılan olarak, oturumdaki bir modül tarafından dışarı aktarılan tüm sağlayıcılar oturumda görünür. Oturuma hangi modüllerin içeri aktarılacağını belirlemek için SessionType ve ModulesToImport parametrelerini kullanın.

Oturum yapılandırma dosyasına herhangi bir Visible parametresi eklendiğinde, PowerShell cmdlet'ini Import-Module ve ipmo diğer adını oturumdan kaldırır.

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