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:
- Yeni bir yapılandırma dosyası oluşturun.
- Yapılandırmayı kaydedin.
- Yapılandırmayı kullanan yeni bir oturum oluşturun.
- 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:
- Yeni bir yapılandırma dosyası oluşturun.
- Yapılandırmayı kaydedin.
- Yapılandırmayı kullanan yeni bir oturum oluşturun.
- 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:
- ITConfig oturumu için yapılandırma dosyası yolunu alın.
- 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'})
. - 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 |
-Copyright
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
,$False
ve$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:USERNAME
bir 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-Default
veSelect-Object
.Measure-Object
Get-Help
Get-FormatData
Get-Command
Exit-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-PSSessionConfigurationFile
Path 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
.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin