New-PSSessionConfigurationFile
Membuat file yang menentukan konfigurasi sesi.
Sintaks
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>]
Deskripsi
New-PSSessionConfigurationFile
Cmdlet membuat file pengaturan yang menentukan konfigurasi sesi dan lingkungan sesi yang dibuat dengan menggunakan konfigurasi sesi.
Untuk menggunakan file dalam konfigurasi sesi, gunakan parameter Jalur cmdlet Register-PSSessionConfiguration
atau Set-PSSessionConfiguration
.
File konfigurasi sesi yang New-PSSessionConfigurationFile
dibuat adalah file teks yang dapat dibaca manusia yang berisi tabel hash properti dan nilai konfigurasi sesi. File memiliki .pssc
ekstensi nama file.
Semua parameter New-PSSessionConfigurationFile
bersifat opsional, kecuali untuk parameter Jalur .
Jika Anda menghilangkan parameter, kunci yang sesuai dalam file konfigurasi sesi dikomentari, kecuali jika dicatat dalam deskripsi parameter.
Konfigurasi sesi, juga dikenal sebagai titik akhir, adalah kumpulan pengaturan di komputer lokal yang menentukan lingkungan untuk sesi PowerShell (PSSessions) yang terhubung ke komputer. Semua PSSessions menggunakan konfigurasi sesi. Untuk menentukan konfigurasi sesi tertentu, gunakan parameter ConfigurationName cmdlet yang membuat sesi, seperti New-PSSession
cmdlet.
File konfigurasi sesi memudahkan untuk menentukan konfigurasi sesi tanpa skrip kompleks atau rakitan kode. Pengaturan dalam file digunakan dengan skrip startup opsional dan rakitan apa pun dalam konfigurasi sesi.
Untuk informasi selengkapnya tentang konfigurasi sesi dan file konfigurasi sesi, lihat about_Session_Configurations dan about_Session_Configuration_Files.
Cmdlet ini diperkenalkan di PowerShell 3.0.
Contoh
Contoh 1: Membuat dan menggunakan sesi NoLanguage
Contoh ini menunjukkan cara membuat dan efek menggunakan sesi tanpa bahasa.
Langkah-langkahnya meliputi:
- Buat file konfigurasi baru.
- Daftarkan konfigurasi.
- Buat sesi baru yang menggunakan konfigurasi.
- Jalankan perintah dalam sesi baru tersebut.
Untuk menjalankan perintah dalam contoh ini, mulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator. Opsi ini diperlukan untuk menjalankan Register-PSSessionConfiguration
cmdlet.
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
Dalam contoh ini, Invoke-Command
gagal karena LanguageMode diatur ke NoLanguage.
Contoh 2: Membuat dan menggunakan sesi RestrictedLanguage
Contoh ini menunjukkan cara membuat dan efek menggunakan sesi tanpa bahasa.
Langkah-langkahnya meliputi:
- Buat file konfigurasi baru.
- Daftarkan konfigurasi.
- Buat sesi baru yang menggunakan konfigurasi.
- Jalankan perintah dalam sesi baru tersebut.
Untuk menjalankan perintah dalam contoh ini, mulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator. Opsi ini diperlukan untuk menjalankan Register-PSSessionConfiguration
cmdlet.
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
Dalam contoh ini, Invoke-Command
berhasil karena LanguageMode diatur ke RestrictedLanguage.
Contoh 3: Mengubah File Konfigurasi Sesi
Contoh ini menunjukkan cara mengubah file konfigurasi sesi yang digunakan dalam sesi yang sudah ada bernama "ITTasks". Sebelumnya, sesi ini hanya memiliki modul inti dan modul ITTasks internal. Administrator ingin menambahkan modul PSScheduledJob ke sesi yang dibuat dengan menggunakan konfigurasi sesi ITTasks.
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
New-PSSessionConfigurationFile
Cmdlet untuk membuat file konfigurasi sesi yang mengimpor modul yang diperlukan. Set-PSSessionConfiguration
Cmdlet menggantikan file konfigurasi saat ini dengan yang baru. Konfigurasi baru ini hanya memengaruhi sesi baru yang dibuat setelah perubahan.
Sesi "ITTasks" yang ada tidak terpengaruh.
Contoh 4: Mengedit File Konfigurasi Sesi
Contoh ini menunjukkan cara mengubah konfigurasi sesi dengan mengedit salinan konfigurasi sesi aktif dari file konfigurasi. Untuk mengubah salinan konfigurasi sesi file konfigurasi, Anda harus memiliki akses kontrol penuh ke file. Ini mungkin mengharuskan Anda mengubah izin pada file.
Dalam skenario ini, kita ingin menambahkan alias baru untuk Select-String
cmdlet dengan mengedit file konfigurasi aktif.
Contoh kode di bawah ini melakukan langkah-langkah berikut untuk membuat perubahan ini:
- Dapatkan jalur file konfigurasi untuk sesi ITConfig.
- Pengguna mengedit file konfigurasi menggunakan Notepad.exe untuk mengubah nilai AliasDefinitions sebagai berikut:
AliasDefinitions = @(@{Name='slst';Value='Select-String'})
. - Uji file konfigurasi yang diperbarui.
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
Gunakan parameter Verbose dengan Test-PSSessionConfigurationFile
untuk menampilkan kesalahan apa pun yang terdeteksi. Cmdlet mengembalikan $True
jika tidak ada kesalahan yang terdeteksi dalam file.
Contoh 5: Membuat file konfigurasi sampel
Contoh ini menunjukkan New-PSSessionConfigurationFile
perintah yang menggunakan semua parameter cmdlet.
Ini disertakan untuk menunjukkan format input yang benar untuk setiap parameter.
SampleFile.pssc yang dihasilkan ditampilkan dalam output.
$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'
}
Parameter
-AliasDefinitions
Menambahkan alias yang ditentukan ke sesi yang menggunakan konfigurasi sesi. Masukkan tabel hash dengan kunci berikut:
- Nama - Nama alias. Kunci ini diperlukan.
- Nilai - Perintah yang diwakili alias. Kunci ini diperlukan.
- Deskripsi - String teks yang menjelaskan alias. Kunci ini bersifat opsional.
- Opsi - Opsi alias. Kunci ini bersifat opsional. Nilai 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'}
Jenis: | IDictionary[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-AssembliesToLoad
Menentukan rakitan yang akan dimuat ke dalam sesi yang menggunakan konfigurasi sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Author
Menentukan penulis konfigurasi sesi atau file konfigurasi. Defaultnya adalah pengguna saat ini. Nilai parameter ini terlihat dalam file konfigurasi sesi, tetapi bukan properti objek konfigurasi sesi.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-CompanyName
Menentukan perusahaan yang membuat konfigurasi sesi atau file konfigurasi. Nilai defaultnya adalah Tidak Diketahui. Nilai parameter ini terlihat dalam file konfigurasi sesi, tetapi bukan properti objek konfigurasi sesi.
Jenis: | String |
Position: | Named |
Nilai default: | Unknown |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Copyright
Menentukan hak cipta file konfigurasi sesi. Nilai parameter ini terlihat dalam file konfigurasi sesi, tetapi bukan properti objek konfigurasi sesi.
Jika Anda menghilangkan parameter ini, New-PSSessionConfigurationFile
buat pernyataan hak cipta dengan menggunakan nilai parameter Penulis .
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Description
Menentukan deskripsi konfigurasi sesi atau file konfigurasi sesi. Nilai parameter ini terlihat dalam file konfigurasi sesi, tetapi bukan properti objek konfigurasi sesi.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-EnvironmentVariables
Menambahkan variabel lingkungan ke sesi. Masukkan tabel hash di mana kunci adalah nama variabel lingkungan dan nilainya adalah nilai variabel lingkungan.
Misalnya: EnvironmentVariables=@{TestShare='\\Server01\TestShare'}
Jenis: | IDictionary |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ExecutionPolicy
Menentukan kebijakan eksekusi sesi yang menggunakan konfigurasi sesi. Jika Anda menghilangkan parameter ini, nilai kunci ExecutionPolicy dalam file konfigurasi sesi dibatasi. Untuk informasi tentang kebijakan eksekusi di PowerShell, lihat about_Execution_Policies.
Jenis: | ExecutionPolicy |
Nilai yang diterima: | Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FormatsToProcess
Menentukan file pemformatan (.ps1xml) yang berjalan dalam sesi yang menggunakan konfigurasi sesi. Nilai parameter ini harus berupa jalur penuh atau absolut dari file pemformatan.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Full
Menunjukkan bahwa operasi ini mencakup semua kemungkinan properti konfigurasi dalam file konfigurasi sesi.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FunctionDefinitions
Menambahkan fungsi yang ditentukan ke sesi yang menggunakan konfigurasi sesi. Masukkan tabel hash dengan kunci berikut:
- Nama - Nama fungsi. Kunci ini diperlukan.
- ScriptBlock - Isi fungsi. Masukkan blok skrip. Kunci ini diperlukan.
- Opsi - Opsi fungsi. Kunci ini bersifat opsional. Nilai defaultnya adalah Tidak Ada. Nilai yang dapat diterima untuk parameter ini adalah: None, ReadOnly, Constant, Private, atau AllScope.
Misalnya: @{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
Jenis: | IDictionary[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-GroupManagedServiceAccount
Mengonfigurasi sesi menggunakan konfigurasi sesi ini untuk berjalan di bawah konteks Akun Layanan Terkelola Grup yang ditentukan. Komputer tempat konfigurasi sesi ini terdaftar harus memiliki izin untuk meminta kata sandi gMSA agar sesi berhasil dibuat. Bidang ini tidak dapat digunakan dengan parameter RunAsVirtualAccount .
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Guid
Menentukan pengidentifikasi unik untuk file konfigurasi sesi. Jika Anda menghilangkan parameter ini, New-PSSessionConfigurationFile
menghasilkan GUID untuk file tersebut. Untuk membuat GUID baru di PowerShell, ketik New-Guid
.
Jenis: | Guid |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-LanguageMode
Menentukan elemen bahasa PowerShell mana yang diizinkan dalam sesi yang menggunakan konfigurasi sesi ini. Anda dapat menggunakan parameter ini untuk membatasi perintah yang dapat dijalankan pengguna tertentu di komputer.
Nilai yang dapat diterima untuk parameter ini adalah:
- FullLanguage - Semua elemen bahasa diizinkan.
- ConstrainedLanguage - Perintah yang berisi skrip yang akan dievaluasi tidak diizinkan. Mode ConstrainedLanguage membatasi akses pengguna ke jenis, objek, atau metode Microsoft .NET Framework.
- NoLanguage - Pengguna dapat menjalankan cmdlet dan fungsi, tetapi tidak diizinkan untuk menggunakan elemen bahasa apa pun, seperti blok skrip, variabel, atau operator.
- RestrictedLanguage - Pengguna dapat menjalankan cmdlet dan fungsi, tetapi tidak diizinkan untuk menggunakan blok atau variabel skrip kecuali untuk variabel yang diizinkan berikut:
$PSCulture
, ,$PSUICulture
,$True
$False
, dan$Null
. Pengguna hanya dapat menggunakan operator perbandingan dasar (-eq
,-gt
,-lt
). Pernyataan penugasan, referensi properti, dan panggilan metode tidak diizinkan.
Nilai default parameter LanguageMode bergantung pada nilai parameter SessionType .
- Kosong - NoLanguage
- RestrictedRemoteServer - NoLanguage
- Default - FullLanguage
Jenis: | PSLanguageMode |
Nilai yang diterima: | FullLanguage, RestrictedLanguage, NoLanguage, ConstrainedLanguage |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ModulesToImport
Menentukan modul dan snap-in yang secara otomatis diimpor ke dalam sesi yang menggunakan konfigurasi sesi.
Secara default, hanya snap-in Microsoft.PowerShell.Core yang diimpor ke sesi jarak jauh, tetapi kecuali cmdlet dikecualikan, pengguna dapat menggunakan Import-Module
cmdlet dan Add-PSSnapin
untuk menambahkan modul dan snap-in ke sesi.
Setiap modul atau snap-in dalam nilai parameter ini dapat diwakili oleh string atau sebagai tabel hash. String modul hanya terdiri dari nama modul atau snap-in. Tabel hash modul dapat mencakup kunci ModuleName, ModuleVersion, dan GUID . Hanya kunci ModuleName yang diperlukan.
Misalnya, nilai berikut terdiri dari string dan tabel hash. Kombinasi string dan tabel hash apa pun, dalam urutan apa pun, valid.
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
Nilai parameter ModulesToImport cmdlet Register-PSSessionConfiguration
lebih diutamakan daripada nilai kunci ModulesToImport dalam file konfigurasi sesi.
Jenis: | Object[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-MountUserDrive
Mengonfigurasi sesi yang menggunakan konfigurasi sesi ini untuk mengekspos User:
PSDrive. Drive pengguna unik untuk setiap pengguna yang menghubungkan dan memungkinkan pengguna menyalin data ke dan dari titik akhir PowerShell bahkan jika penyedia Sistem File tidak diekspos. Akar drive pengguna dibuat di bawah $env:LOCALAPPDATA\Microsoft\Windows\PowerShell\DriveRoots\
. Untuk setiap pengguna yang terhubung ke titik akhir, folder dibuat dengan nama ${env:USERDOMAIN}_${env:USERNAME}
. Untuk komputer dalam grup kerja, nilainya $env:USERDOMAIN
adalah nama host.
Konten dalam drive pengguna bertahan di seluruh sesi pengguna dan tidak dihapus secara otomatis. Secara default, pengguna hanya dapat menyimpan hingga 50MB data di drive pengguna. Ini dapat dikustomisasi dengan parameter UserDriveMaximumSize .
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Path
Menentukan jalur dan nama file file konfigurasi sesi. File harus memiliki .pssc
ekstensi nama file.
Jenis: | String |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-PowerShellVersion
Menentukan versi mesin PowerShell dalam sesi yang menggunakan konfigurasi sesi. Nilai yang dapat diterima untuk parameter ini adalah: 2.0 dan 3.0. Jika Anda menghilangkan parameter ini, kunci PowerShellVersion dikomentari dan versi terbaru PowerShell berjalan dalam sesi.
Nilai parameter PSVersion cmdlet Register-PSSessionConfiguration
lebih diutamakan daripada nilai kunci PowerShellVersion dalam file konfigurasi sesi.
Jenis: | Version |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-RequiredGroups
Menentukan aturan akses bersyar bagi pengguna yang tersambung ke sesi yang menggunakan konfigurasi sesi ini.
Masukkan hashtable untuk menyusun daftar aturan Anda hanya menggunakan 1 kunci per hashtable, 'And' atau 'Or', dan atur nilai ke array nama grup keamanan atau hashtable tambahan.
Contoh yang mengharuskan pengguna menyambungkan menjadi anggota satu grup: @{ And = 'MyRequiredGroup' }
Contoh yang mengharuskan pengguna berada dalam grup A, atau kedua grup B dan C, untuk mengakses titik akhir: @{ Or = 'GroupA', @{ And = 'GroupB', 'GroupC' } }
Jenis: | IDictionary |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-RoleDefinitions
Menentukan pemetaan antara kelompok keamanan (atau pengguna) dan kemampuan peran. Pengguna akan diberikan akses ke semua kemampuan peran yang berlaku untuk keanggotaan grup mereka pada saat sesi dibuat.
Masukkan tabel hash di mana kunci adalah nama grup keamanan dan nilainya adalah tabel hash yang berisi daftar kemampuan peran yang harus disediakan untuk grup keamanan.
Misalnya: @{'Contoso\Level 2 Helpdesk Users' = @{ RoleCapabilities = 'Maintenance', 'ADHelpDesk' }}
Jenis: | IDictionary |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-RunAsVirtualAccount
Mengonfigurasi sesi menggunakan konfigurasi sesi ini untuk dijalankan sebagai akun administrator komputer (virtual). Bidang ini tidak dapat digunakan dengan parameter GroupManagedServiceAccount .
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-RunAsVirtualAccountGroups
Menentukan grup keamanan yang akan dikaitkan dengan akun virtual saat sesi yang menggunakan konfigurasi sesi dijalankan sebagai akun virtual. Jika dihilangkan, akun virtual milik Admin Domain pada pengendali domain dan Administrator di semua komputer lain.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SchemaVersion
Menentukan versi skema file konfigurasi sesi. Nilai defaultnya adalah "1.0.0.0".
Jenis: | Version |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ScriptsToProcess
Menambahkan skrip yang ditentukan ke sesi yang menggunakan konfigurasi sesi. Masukkan jalur dan nama file skrip. Nilai parameter ini harus berupa jalur lengkap atau absolut dari nama file skrip.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SessionType
Menentukan jenis sesi yang dibuat dengan menggunakan konfigurasi sesi. Nilai default-nya adalah Default. Nilai yang dapat diterima untuk parameter ini adalah:
- Kosong - Tidak ada modul yang ditambahkan ke sesi secara default. Gunakan parameter cmdlet ini untuk menambahkan modul, fungsi, skrip, dan fitur lainnya ke sesi. Opsi ini dirancang bagi Anda untuk membuat sesi kustom dengan menambahkan perintah yang dipilih. Jika Anda tidak menambahkan perintah ke sesi kosong, sesi terbatas pada ekspresi dan mungkin tidak dapat digunakan.
- Default - Menambahkan modul Microsoft.PowerShell.Core ke sesi. Modul ini mencakup
Import-Module
cmdlet yang dapat digunakan pengguna untuk mengimpor modul lain kecuali Anda secara eksplisit melarang cmdlet ini. - RestrictedRemoteServer. Hanya mencakup fungsi proksi berikut:
Exit-PSSession
, ,Get-Command
,Get-FormatData
,Get-Help
Measure-Object
, ,Out-Default
danSelect-Object
. Gunakan parameter cmdlet ini untuk menambahkan modul, fungsi, skrip, dan fitur lainnya ke sesi.
Jenis: | SessionType |
Nilai yang diterima: | Empty, RestrictedRemoteServer, Default |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-TranscriptDirectory
Menentukan direktori untuk menempatkan transkrip sesi untuk sesi menggunakan konfigurasi sesi ini.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-TypesToProcess
Menambahkan file jenis yang ditentukan .ps1xml
ke sesi yang menggunakan konfigurasi sesi. Masukkan nama file jenis. Nilai parameter ini harus berupa jalur penuh atau absolut untuk mengetik nama file.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-UserDriveMaximumSize
Menentukan ukuran maksimum untuk drive pengguna yang diekspos dalam sesi yang menggunakan konfigurasi sesi ini.
Saat dihilangkan, ukuran default setiap User:
akar drive adalah 50MB.
Parameter ini harus digunakan dengan MountUserDrive.
Jenis: | Int64 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-VariableDefinitions
Menambahkan variabel yang ditentukan ke sesi yang menggunakan konfigurasi sesi. Masukkan tabel hash dengan kunci berikut:
- Nama - Nama variabel. Kunci ini diperlukan.
- Nilai - Nilai variabel. Kunci ini diperlukan.
Misalnya: @{Name='WarningPreference';Value='SilentlyContinue'}
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-VisibleAliases
Membatasi alias dalam sesi untuk 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: VisibleAliases='gcm', 'gp'
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan alias ipmo-nya dari sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleCmdlets
Membatasi cmdlet dalam sesi untuk yang ditentukan dalam nilai parameter ini. Karakter kartubebas dan Nama Yang Memenuhi Syarat Modul didukung.
Secara default, semua cmdlet yang modul dalam ekspor sesi terlihat dalam sesi. Gunakan parameter SessionType dan ModulesToImport untuk menentukan modul dan snap-in mana yang diimpor ke dalam sesi. Jika tidak ada modul dalam ModulesToImport yang mengekspos cmdlet, modul yang sesuai akan mencoba untuk dimuat otomatis.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan alias ipmo-nya dari sesi.
Jenis: | Object[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleExternalCommands
Membatasi biner eksternal, skrip, dan perintah yang dapat dijalankan dalam sesi untuk yang ditentukan dalam nilai parameter ini. Karakter kartubebas didukung.
Secara default, tidak ada perintah eksternal yang terlihat dalam sesi.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell, menghapus Import-Module
cmdlet dan alias ipmo-nya dari sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleFunctions
Membatasi fungsi dalam sesi ke yang ditentukan dalam nilai parameter ini, ditambah fungsi apa pun yang Anda tentukan dalam parameter FunctionDefinition . Karakter kartubebas didukung.
Secara default, semua fungsi 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.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan alias ipmo-nya dari sesi.
Jenis: | Object[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-VisibleProviders
Membatasi penyedia PowerShell dalam sesi dengan yang ditentukan dalam nilai parameter ini. Karakter kartubebas didukung.
Secara default, semua penyedia yang modul dalam ekspor sesi terlihat dalam sesi. Gunakan parameter SessionType dan ModulesToImport untuk menentukan modul mana yang diimpor ke dalam sesi.
Ketika parameter Terlihat disertakan dalam file konfigurasi sesi, PowerShell menghapus Import-Module
cmdlet dan aliasnya ipmo
dari sesi.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
Windows PowerShell menyertakan alias berikut untuk New-PSSessionConfigurationFile
:
npssc
Parameter, seperti VisibleCmdlets dan VisibleProviders, tidak mengimpor item ke dalam sesi. Sebagai gantinya, mereka memilih dari antara item yang diimpor ke dalam sesi. Misalnya, jika nilai parameter VisibleProviders adalah penyedia Sertifikat, tetapi parameter ModulesToImport tidak menentukan modul Microsoft.PowerShell.Security yang berisi penyedia Sertifikat, penyedia Sertifikat tidak terlihat dalam sesi.
New-PSSessionConfigurationFile
membuat file konfigurasi sesi yang memiliki ekstensi nama file .pssc di jalur yang Anda tentukan di parameter Jalur . Saat Anda menggunakan file konfigurasi sesi untuk membuat konfigurasi sesi, Register-PSSessionConfiguration
cmdlet menyalin file konfigurasi dan menyimpan salinan aktif file di subdirektori $PSHOME
SessionConfig direktori.
Properti ConfigFilePath dari konfigurasi sesi berisi jalur yang sepenuhnya memenuhi syarat dari file konfigurasi sesi aktif. Anda dapat mengubah file konfigurasi aktif di $PSHOME
direktori kapan saja menggunakan editor teks apa pun. Perubahan yang Anda buat memengaruhi semua sesi baru yang menggunakan konfigurasi sesi, tetapi bukan sesi yang ada.
Sebelum menggunakan file konfigurasi sesi yang diedit, gunakan Test-PSSessionConfigurationFile
cmdlet untuk memverifikasi bahwa entri file konfigurasi valid.