New-PSSessionConfigurationFile

Oturum yapılandırmasını tanımlayan bir dosya oluşturur.

Syntax

New-PSSessionConfigurationFile
   [-Path] <String>
   [-SchemaVersion <Version>]
   [-Guid <Guid>]
   [-Author <String>]
   [-Description <String>]
   [-CompanyName <String>]
   [-Copyright <String>]
   [-SessionType <SessionType>]
   [-TranscriptDirectory <String>]
   [-RunAsVirtualAccount]
   [-RunAsVirtualAccountGroups <String[]>]
   [-MountUserDrive]
   [-UserDriveMaximumSize <Int64>]
   [-GroupManagedServiceAccount <String>]
   [-ScriptsToProcess <String[]>]
   [-RoleDefinitions <IDictionary>]
   [-RequiredGroups <IDictionary>]
   [-LanguageMode <PSLanguageMode>]
   [-ExecutionPolicy <ExecutionPolicy>]
   [-PowerShellVersion <Version>]
   [-ModulesToImport <Object[]>]
   [-VisibleAliases <String[]>]
   [-VisibleCmdlets <Object[]>]
   [-VisibleFunctions <Object[]>]
   [-VisibleExternalCommands <String[]>]
   [-VisibleProviders <String[]>]
   [-AliasDefinitions <IDictionary[]>]
   [-FunctionDefinitions <IDictionary[]>]
   [-VariableDefinitions <Object>]
   [-EnvironmentVariables <IDictionary>]
   [-TypesToProcess <String[]>]
   [-FormatsToProcess <String[]>]
   [-AssembliesToLoad <String[]>]
   [-Full]
   [<CommonParameters>]

Description

Cmdlet, New-PSSessionConfigurationFile oturum yapılandırması ve oturum yapılandırması kullanılarak oluşturulan oturumların ortamını tanımlayan bir ayar dosyası oluşturur. Dosyayı bir oturum yapılandırmasında kullanmak için veya Set-PSSessionConfiguration cmdlet'lerinin Register-PSSessionConfiguration Path parametresini kullanın.

Oluşturan oturum yapılandırma dosyası New-PSSessionConfigurationFile , oturum yapılandırma özelliklerinin ve değerlerinin karma tablosunu içeren, okunabilir bir metin dosyasıdır. Dosya bir .pssc dosya adı uzantısına sahiptir.

Path parametresi dışında tüm parametreleri New-PSSessionConfigurationFile isteğe bağlıdır. Parametreyi atlarsanız, parametre açıklamasında belirtilenler dışında oturum yapılandırma dosyasındaki ilgili anahtar açıklama satırı yapılır.

Uç nokta olarak da bilinen oturum yapılandırması, yerel bilgisayardaki bilgisayara bağlanan PowerShell oturumlarının (PSSessions) ortamını tanımlayan bir ayar koleksiyonudur. Tüm PSSessions bir oturum yapılandırması kullanır. Belirli bir oturum yapılandırmasını belirtmek için, cmdlet'i gibi bir oturum oluşturan cmdlet'lerin ConfigurationName parametresini New-PSSession kullanın.

Oturum yapılandırma dosyası, karmaşık betikler veya kod derlemeleri olmadan bir oturum yapılandırması tanımlamayı kolaylaştırır. Dosyadaki ayarlar, isteğe bağlı başlangıç betiği ve oturum yapılandırmasındaki tüm derlemelerle birlikte kullanılır.

Oturum yapılandırmaları ve oturum yapılandırma dosyaları hakkında daha fazla bilgi için bkz . about_Session_Configurations ve about_Session_Configuration_Files.

Bu cmdlet PowerShell 3.0'da kullanıma sunulmuştur. PowerShell 6.0'dan başlayarak, bu cmdlet yalnızca Windows platformunda kullanılabilirdi. PowerShell 7.3, bu cmdlet'i desteklenen tüm platformlarda kullanılabilir hale getirdi.

Örnekler

Örnek 1: NoLanguage oturumu oluşturma ve kullanma

Bu örnek, dilsiz oturum kullanmanın nasıl oluşturulacağını ve etkilerini gösterir.

Adımlar şunlardır:

  1. Yeni bir yapılandırma dosyası oluşturun.
  2. Yapılandırmayı kaydedin.
  3. Yapılandırmayı kullanan yeni bir oturum oluşturun.
  4. Bu yeni oturumda komutları çalıştırın.

Bu örnekteki komutları çalıştırmak için Yönetici olarak çalıştır seçeneğini kullanarak PowerShell'i başlatın. Cmdlet'i çalıştırmak Register-PSSessionConfiguration için bu seçenek gereklidir.

New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguageSession = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguageSession -ScriptBlock {
  if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}

The syntax is not supported by this runspace. This might be because it is in no-language mode.
    + CategoryInfo          : ParserError: (if ((Get-Date) ...') {'Before'}  :String) [], ParseException
    + FullyQualifiedErrorId : ScriptsNotAllowed
    + PSComputerName        : localhost

Bu örnekte, Invoke-Command LanguageMode NoLanguage olarak ayarlandığından başarısız olur.

Örnek 2: RestrictedLanguage oturumu oluşturma ve kullanma

Bu örnek, dilsiz oturum kullanmanın nasıl oluşturulacağını ve etkilerini gösterir.

Adımlar şunlardır:

  1. Yeni bir yapılandırma dosyası oluşturun.
  2. Yapılandırmayı kaydedin.
  3. Yapılandırmayı kullanan yeni bir oturum oluşturun.
  4. Bu yeni oturumda komutları çalıştırın.

Bu örnekteki komutları çalıştırmak için Yönetici olarak çalıştır seçeneğini kullanarak PowerShell'i başlatın. Cmdlet'i çalıştırmak Register-PSSessionConfiguration için bu seçenek gereklidir.

New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode RestrictedLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name RestrictedLanguage -Force
$RestrictedSession = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
Invoke-Command -Session $RestrictedSession -ScriptBlock {
  if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}

Before

Bu örnekte, Invoke-Command LanguageMode RestrictedLanguage olarak ayarlandığından başarılı olur.

Örnek 3: Oturum Yapılandırma Dosyasını Değiştirme

Bu örnek, "ITTasks" adlı mevcut bir oturumda kullanılan oturum yapılandırma dosyasının nasıl değiştirildiğini gösterir. Daha önce bu oturumlarda yalnızca temel modüller ve bir iç ITTasks modülü vardı . Yönetici, BTTasks oturum yapılandırması kullanılarak oluşturulan oturumlara PSScheduledJob modülünü eklemek istiyor.

New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc

New-PSSessionConfigurationFile Gerekli modülleri içeri aktaran bir oturum yapılandırma dosyası oluşturmak için cmdlet. Set-PSSessionConfiguration Cmdlet, geçerli yapılandırma dosyasını yenisiyle değiştirir. Bu yeni yapılandırma yalnızca değişiklik sonrasında oluşturulan yeni oturumları etkiler. Mevcut "ITTasks" oturumları etkilenmez.

Örnek 4: Oturum Yapılandırma Dosyasını Düzenleme

Bu örnekte, yapılandırma dosyasının etkin oturum yapılandırma kopyasını düzenleyerek oturum yapılandırmasını değiştirme gösterilmektedir. Yapılandırma dosyasının oturum yapılandırma kopyasını değiştirmek için dosyaya tam denetim erişiminiz olmalıdır. Bu, dosya üzerindeki izinleri değiştirmenizi gerektirebilir.

Bu senaryoda, etkin yapılandırma dosyasını düzenleyerek cmdlet için Select-String yeni bir diğer ad eklemek istiyoruz.

Aşağıdaki örnek kod, bu değişikliği yapmak için aşağıdaki adımları gerçekleştirir:

  1. ITConfig oturumu için yapılandırma dosyası yolunu alın.
  2. Kullanıcı, AliasDefinitions değerini değiştirmek için Not Defteri.exe kullanarak yapılandırma dosyasını şu şekilde düzenler: AliasDefinitions = @(@{Name='slst';Value='Select-String'}).
  3. Güncelleştirilmiş yapılandırma dosyasını test edin.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath

True

Algılanan hataları görüntülemek için ile Test-PSSessionConfigurationFile Verbose parametresini kullanın. Cmdlet, dosyada hata algılanırsa döndürür $True .

Örnek 5: Örnek yapılandırma dosyası oluşturma

Bu örnekte, tüm cmdlet parametrelerini kullanan bir New-PSSessionConfigurationFile komut gösterilmektedir. Her parametre için doğru giriş biçimini göstermek için eklenir.

Sonuçta elde edilen SampleFile.pssc çıktıda görüntülenir.

$configSettings = @{
    Path = '.\SampleFile.pssc'
    SchemaVersion = '1.0.0.0'
    Author = 'User01'
    Copyright = '(c) Fabrikam Corporation. All rights reserved.'
    CompanyName = 'Fabrikam Corporation'
    Description = 'This is a sample file.'
    ExecutionPolicy = 'AllSigned'
    PowerShellVersion = '3.0'
    LanguageMode = 'FullLanguage'
    SessionType = 'Default'
    EnvironmentVariables = @{TESTSHARE='\\Test2\Test'}
    ModulesToImport = @{ModuleName='PSScheduledJob'; ModuleVersion='1.0.0.0'; GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'},'PSDiagnostics'
    AssembliesToLoad = 'System.Web.Services','FSharp.Compiler.CodeDom.dll'
    TypesToProcess = 'Types1.ps1xml','Types2.ps1xml'
    FormatsToProcess = 'CustomFormats.ps1xml'
    ScriptsToProcess = 'Get-Inputs.ps1'
    AliasDefinitions = @{Name='hlp';Value='Get-Help';Description='Gets help.';Options='AllScope'},
        @{Name='Update';Value='Update-Help';Description='Updates help';Options='ReadOnly'}
    FunctionDefinitions = @{Name='Get-Function';ScriptBlock={Get-Command -CommandType Function};Options='ReadOnly'}
    VariableDefinitions = @{Name='WarningPreference';Value='SilentlyContinue'}
    VisibleAliases = 'c*','g*','i*','s*'
    VisibleCmdlets = 'Get*'
    VisibleFunctions = 'Get*'
    VisibleProviders = 'FileSystem','Function','Variable'
    RunAsVirtualAccount = $true
    RunAsVirtualAccountGroups = 'Backup Operators'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc

@{

# Version number of the schema used for this document
SchemaVersion = '1.0.0.0'

# ID used to uniquely identify this document
GUID = '1caeff7f-27ca-4360-97cf-37846f594235'

# Author of this document
Author = 'User01'

# Description of the functionality provided by these settings
Description = 'This is a sample file.'

# Company associated with this document
CompanyName = 'Fabrikam Corporation'

# Copyright statement for this document
Copyright = '(c) Fabrikam Corporation. All rights reserved.'

# Session type defaults to apply for this session configuration. Can be 'RestrictedRemoteServer' (recommended), 'Empty', or 'Default'
SessionType = 'Default'

# Directory to place session transcripts for this session configuration
# TranscriptDirectory = 'C:\Transcripts\'

# Whether to run this session configuration as the machine's (virtual) administrator account
RunAsVirtualAccount = $true

# Groups associated with machine's (virtual) administrator account
RunAsVirtualAccountGroups = 'Backup Operators'

# Scripts to run when applied to a session
ScriptsToProcess = 'Get-Inputs.ps1'

# User roles (security groups), and the role capabilities that should be applied to them when applied to a session
# RoleDefinitions = @{ 'CONTOSO\SqlAdmins' = @{ RoleCapabilities = 'SqlAdministration' }; 'CONTOSO\SqlManaged' = @{ RoleCapabilityFiles = 'C:\RoleCapability\SqlManaged.psrc' }; 'CONTOSO\ServerMonitors' = @{ VisibleCmdlets = 'Get-Process' } }

# Language mode to apply when applied to a session. Can be 'NoLanguage' (recommended), 'RestrictedLanguage', 'ConstrainedLanguage', or 'FullLanguage'
LanguageMode = 'FullLanguage'

# Execution policy to apply when applied to a session
ExecutionPolicy = 'AllSigned'

# Version of the PowerShell engine to use when applied to a session
PowerShellVersion = '3.0'

# Modules to import when applied to a session
ModulesToImport = @{
    'GUID' = '50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
    'ModuleName' = 'PSScheduledJob'
    'ModuleVersion' = '1.0.0.0' }, 'PSDiagnostics'

# Aliases to make visible when applied to a session
VisibleAliases = 'c*', 'g*', 'i*', 's*'

# Cmdlets to make visible when applied to a session
VisibleCmdlets = 'Get*'

# Functions to make visible when applied to a session
VisibleFunctions = 'Get*'

# Providers to make visible when applied to a session
VisibleProviders = 'FileSystem', 'Function', 'Variable'

# Aliases to be defined when applied to a session
AliasDefinitions = @{
    'Description' = 'Gets help.'
    'Name' = 'hlp'
    'Options' = 'AllScope'
    'Value' = 'Get-Help' }, @{
    'Description' = 'Updates help'
    'Name' = 'Update'
    'Options' = 'ReadOnly'
    'Value' = 'Update-Help' }

# Functions to define when applied to a session
FunctionDefinitions = @{
    'Name' = 'Get-Function'
    'Options' = 'ReadOnly'
    'ScriptBlock' = {Get-Command -CommandType Function} }

# Variables to define when applied to a session
VariableDefinitions = @{
    'Name' = 'WarningPreference'
    'Value' = 'SilentlyContinue' }

# Environment variables to define when applied to a session
EnvironmentVariables = @{
    'TESTSHARE' = '\\Test2\Test' }

# Type files (.ps1xml) to load when applied to a session
TypesToProcess = 'Types1.ps1xml', 'Types2.ps1xml'

# Format files (.ps1xml) to load when applied to a session
FormatsToProcess = 'CustomFormats.ps1xml'

# Assemblies to load when applied to a session
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'

}

Parametreler

-AliasDefinitions

Belirtilen diğer adları oturum yapılandırması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

Oturum yapılandırması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

Oturum yapılandırmasının veya yapılandırma dosyasının yazarını belirtir. Varsayılan, mevcut kullanıcıdır. Bu parametrenin değeri oturum yapılandırma dosyasında görünür, ancak oturum yapılandırma nesnesinin bir özelliği değildir.

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

-CompanyName

Oturum yapılandırmasını veya yapılandırma dosyasını oluşturan şirketi belirtir. Varsayılan değer Bilinmiyor'dur. Bu parametrenin değeri oturum yapılandırma dosyasında görünür, ancak oturum yapılandırma nesnesinin bir özelliği değildir.

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

Oturum yapılandırma dosyasının telif hakkını belirtir. Bu parametrenin değeri oturum yapılandırma dosyasında görünür, ancak oturum yapılandırma nesnesinin bir özelliği değildir.

Bu parametreyi atlarsanız Author New-PSSessionConfigurationFile 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

Oturum yapılandırmasının veya oturum yapılandırma dosyasının açıklamasını belirtir. Bu parametrenin değeri oturum yapılandırma dosyasında görünür, ancak oturum yapılandırma nesnesinin bir özelliği değildir.

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

-EnvironmentVariables

Oturuma ortam değişkenleri ekler. 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

-ExecutionPolicy

Oturum yapılandırmasını kullanan oturumların yürütme ilkesini belirtir. Bu parametreyi atlarsanız, oturum yapılandırma dosyasındaki ExecutionPolicy anahtarının değeri Kısıtlı olur. PowerShell'de yürütme ilkeleri hakkında bilgi için bkz . about_Execution_Policies.

Type:ExecutionPolicy
Accepted values:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatsToProcess

Oturum yapılandırması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

-Full

Bu işlemin oturum yapılandırma dosyasındaki tüm olası yapılandırma özelliklerini içerdiğini gösterir.

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

-FunctionDefinitions

Belirtilen işlevleri oturum yapılandırmasını kullanan oturumlara ekler. Aşağıdaki anahtarlara sahip bir karma tablo girin:

  • Name - İş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

-GroupManagedServiceAccount

Bu oturum yapılandırmasını kullanarak oturumları, belirtilen Grup Yönetilen Hizmet Hesabı bağlamında çalışacak şekilde yapılandırılır. Oturumların başarıyla oluşturulabilmesi için bu oturum yapılandırmasının kayıtlı olduğu makinenin gMSA parolasını isteme izni olmalıdır. Bu alan RunAsVirtualAccount parametresiyle kullanılamaz.

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

-Guid

Oturum yapılandırma dosyası için benzersiz bir tanımlayıcı belirtir. Bu parametreyi atlarsanız, New-PSSessionConfigurationFile dosya için bir GUID oluşturur. PowerShell'de yeni bir GUID oluşturmak için yazın New-Guid.

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

-LanguageMode

Bu oturum yapılandırmasını kullanan oturumlarda PowerShell dilinin hangi öğelerine izin verileceğini belirler. Belirli kullanıcıların bilgisayarda çalıştırabileceği komutları kısıtlamak için bu parametreyi kullanabilirsiniz.

Bu parametrenin kabul edilebilir değerleri şunlardır:

  • FullLanguage - Tüm dil öğelerine izin verilir.
  • ConstrainedLanguage - Değerlendirilecek betikler içeren komutlara izin verilmez. ConstrainedLanguage modu, Microsoft .NET Framework türlerine, nesnelerine veya yöntemlerine kullanıcı erişimini kısıtlar.
  • NoLanguage - Kullanıcılar cmdlet'leri ve işlevleri çalıştırabilir, ancak betik blokları, değişkenler veya işleçler gibi dil öğelerini kullanmalarına izin verilmez.
  • RestrictedLanguage - Kullanıcılar cmdlet'leri ve işlevleri çalıştırabilir, ancak aşağıdaki izin verilen değişkenler dışında betik bloklarını veya değişkenlerini kullanmalarına izin verilmez: $PSCulture, $PSUICulture, $True, $Falseve $Null. Kullanıcılar yalnızca temel karşılaştırma işleçlerini (-eq, -gt, -lt) kullanabilir. Atama deyimleri, özellik başvuruları ve yöntem çağrılarına izin verilmez.

LanguageMode parametresinin varsayılan değeri SessionType parametresinin değerine bağlıdır.

  • Boş - NoLanguage
  • RestrictedRemoteServer - NoLanguage
  • Varsayılan - FullLanguage
Type:PSLanguageMode
Accepted values:FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModulesToImport

Oturum yapılandırmasını kullanan oturumlara otomatik olarak içeri aktarılan modülleri ve ek bileşenleri belirtir.

Varsayılan olarak, uzak oturumlara yalnızca Microsoft.PowerShell.Core ek bileşeni aktarılır, ancak cmdlet'ler dışlanmadığı sürece, kullanıcılar ve Add-PSSnapin cmdlet'lerini kullanarak Import-Module oturuma modül ve ek bileşen ekleyebilir.

Bu parametrenin değerindeki her modül veya ek bileşen bir dize veya karma tablo olarak temsil edilebilir. Modül dizesi yalnızca modülün veya ek bileşenin 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'}

cmdlet'in ModulesToImport parametresinin Register-PSSessionConfiguration değeri, oturum yapılandırma dosyasındaki ModulesToImport anahtarının değerinden önceliklidir.

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

-MountUserDrive

PSDrive'ı kullanıma açmak User: için bu oturum yapılandırmasını kullanan oturumları yapılandırıyor. Kullanıcı sürücüleri, bağlanan her kullanıcı için benzersizdir ve Dosya Sistemi sağlayıcısı kullanıma sunulmamış olsa bile kullanıcıların PowerShell uç noktalarına ve powershell uç noktalarına veri kopyalamasına izin verir. Kullanıcı sürücüsü kökleri altında $env:LOCALAPPDATA\Microsoft\PowerShell\DriveRoots\oluşturulur. Uç noktaya bağlanan her kullanıcı için adlı $env:USERDOMAIN\$env:USERNAMEbir klasör oluşturulur. Çalışma gruplarındaki bilgisayarlar için değeri $env:USERDOMAIN ana bilgisayar adıdır.

Kullanıcı sürücüsündeki içerik, kullanıcı oturumlarında kalıcıdır ve otomatik olarak kaldırılmaz. Varsayılan olarak, kullanıcılar kullanıcı sürücüsünde yalnızca 50 MB'a kadar veri depolayabilir. Bu, UserDriveMaximumSize parametresiyle özelleştirilebilir.

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

-Path

Oturum yapılandırma dosyasının yolunu ve dosya adını belirtir. Dosyanın bir .pssc dosya adı uzantısı olmalıdır.

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

-PowerShellVersion

Oturum yapılandırmasını kullanan oturumlarda PowerShell altyapısının sürümünü belirtir. Bu parametre için kabul edilebilir değerler şunlardır: 2.0 ve 3.0. Bu parametreyi atlarsanız, PowerShellVersion anahtarı açıklama satırı yapılır ve powershell'in en yeni sürümü oturumda çalışır.

cmdlet'in PSVersion parametresinin Register-PSSessionConfiguration değeri, oturum yapılandırma dosyasındaki PowerShellVersion anahtarının değerinden önceliklidir.

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

-RequiredGroups

Bu oturum yapılandırmasını kullanan oturumlara bağlanan kullanıcılar için koşullu erişim kurallarını belirtir.

'And' veya 'Or' adlı karma tablo başına yalnızca 1 anahtar kullanarak kural listenizi oluşturmak için bir karma tablo girin ve değeri bir dizi güvenlik grubu adı veya ek karma tablo olarak ayarlayın.

Kullanıcıların tek bir grubun üyesi olmasını gerektiren örnek: @{ And = 'MyRequiredGroup' }

Kullanıcıların uç noktaya erişmek için A grubuna veya B ve C gruplarına ait olmasını gerektiren örnek: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }

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

-RoleDefinitions

Güvenlik grupları (veya kullanıcılar) ile rol özellikleri arasındaki eşlemeyi belirtir. Kullanıcılara, oturum oluşturulduğu sırada grup üyelikleri için geçerli olan tüm rol özelliklerine erişim verilir.

Anahtarların güvenlik grubunun adı olduğu ve değerlerin güvenlik grubunun kullanımına sunulması gereken rol özelliklerinin listesini içeren karma tablolar olduğu bir karma tablo girin.

Örneğin: @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}

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

-RunAsVirtualAccount

Bu oturum yapılandırmasını kullanarak oturumları bilgisayarın (sanal) yönetici hesabı olarak çalıştırılacak şekilde yapılandırılır. Bu alan GroupManagedServiceAccount parametresiyle kullanılamaz.

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

-RunAsVirtualAccountGroups

Oturum yapılandırmasını kullanan bir oturum sanal hesap olarak çalıştırıldığında sanal hesapla ilişkilendirilecek güvenlik gruplarını belirtir. Belirtilmezse, sanal hesap etki alanı denetleyicilerindeki Etki Alanı Yönetici ve diğer tüm bilgisayarlardaki Yönetici istrator'lara aittir.

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

-SchemaVersion

Oturum yapılandırma dosyası şemasının sürümünü belirtir. Varsayılan değer "1.0.0.0"dır.

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

-ScriptsToProcess

Belirtilen betikleri oturum yapılandırmasını kullanan oturumlara ekler. 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

-SessionType

Oturum yapılandırması kullanılarak oluşturulan oturum türünü belirtir. Varsayılan değer Varsayılan'dır. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • Boş - Oturuma varsayılan olarak hiçbir modül eklenmez. Oturuma modüller, işlevler, betikler ve diğer özellikleri eklemek için bu cmdlet'in parametrelerini kullanın. Bu seçenek, seçili komutları ekleyerek özel oturumlar oluşturmanız için tasarlanmıştır. Boş bir oturuma komut eklemezseniz, oturum ifadelerle sınırlıdır ve kullanılabilir olmayabilir.
  • Varsayılan - Oturuma Microsoft.PowerShell.Core modülünü ekler. Bu modül, Import-Module bu cmdlet'i açıkça yasaklamadığınız sürece kullanıcıların diğer modülleri içeri aktarmak için kullanabileceği cmdlet'i içerir.
  • RestrictedRemoteServer. Yalnızca aşağıdaki proxy işlevlerini içerir: , , , , , , Out-Defaultve Select-Object. Measure-ObjectGet-HelpGet-FormatDataGet-CommandExit-PSSession Oturuma modüller, işlevler, betikler ve diğer özellikleri eklemek için bu cmdlet'in parametrelerini kullanın.
Type:SessionType
Accepted values:Empty, RestrictedRemoteServer, Default
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TranscriptDirectory

Bu oturum yapılandırmasını kullanarak oturumlar için oturum dökümlerini yerleştirecek dizini belirtir.

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

-TypesToProcess

Belirtilen .ps1xml tür dosyalarını oturum yapılandırmasını kullanan oturumlara ekler. Dosya adlarını yazın. Bu parametrenin değeri, dosya adlarını yazmak 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

-UserDriveMaximumSize

Bu oturum yapılandırmasını kullanan oturumlarda kullanıma sunulan kullanıcı sürücüleri için en büyük boyutu belirtir. Atlandığında, her User: sürücü kökünün varsayılan boyutu 50 MB'tır.

Bu parametre MountUserDrive ile kullanılmalıdır.

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

-VariableDefinitions

Belirtilen değişkenleri oturum yapılandırmasını kullanan oturumlara ekler. Aşağıdaki anahtarlara sahip bir karma tablo girin:

  • Name - 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 belirtilenlerle 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: VisibleAliases='gcm', 'gp'

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

-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 içindeki hiçbir modül cmdlet'ini kullanıma sunmazsa, uygun modül otomatik yüklenmeye çalışılır.

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:False

-VisibleExternalCommands

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

Varsayılan olarak, 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:True

-VisibleFunctions

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

Varsayılan olarak, oturum dışarı aktarmadaki modüllerin tüm işlevleri 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.

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, oturum dışarı aktarma modülünde bulunan 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

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.

Notlar

  • VisibleCmdlet'ler ve VisibleProviders gibi parametreler oturuma öğe aktarmaz. Bunun yerine, oturuma içeri aktarılan öğeler arasından seçim yaparlar. Örneğin, VisibleProviders parametresinin değeri Sertifika sağlayıcısıysa, ancak ModulesToImport parametresi Sertifika sağlayıcısını içeren Microsoft.PowerShell.Security modülünü belirtmiyorsa, Sertifika sağlayıcısı oturumda görünmez.

  • New-PSSessionConfigurationFilePath parametresinde belirttiğiniz yolda .pssc dosya adı uzantısına sahip bir oturum yapılandırma dosyası oluşturur. Oturum yapılandırması oluşturmak için oturum yapılandırma dosyasını kullandığınızda, Register-PSSessionConfiguration cmdlet yapılandırma dosyasını kopyalar ve dosyanın etkin bir kopyasını dizinin SessionConfig alt dizinine $PSHOME kaydeder.

    Oturum yapılandırmasının ConfigFilePath özelliği, etkin oturum yapılandırma dosyasının tam yolunu içerir. Dizindeki $PSHOME etkin yapılandırma dosyasını istediğiniz zaman herhangi bir metin düzenleyicisini kullanarak değiştirebilirsiniz. Yaptığınız değişiklikler, oturum yapılandırmasını kullanan tüm yeni oturumları etkiler, ancak mevcut oturumları etkilemez.

    Düzenlenen oturum yapılandırma dosyasını kullanmadan önce, yapılandırma dosyası girdilerinin geçerli olduğunu doğrulamak için cmdlet'ini kullanın Test-PSSessionConfigurationFile .