about_Session_Configurations
Deskripsi singkat
Menjelaskan konfigurasi sesi, yang menentukan pengguna yang dapat terhubung ke komputer dari jarak jauh dan perintah yang dapat mereka jalankan.
Deskripsi panjang
Konfigurasi sesi, juga dikenal sebagai "titik akhir" adalah sekelompok pengaturan di komputer lokal yang menentukan lingkungan untuk sesi PowerShell yang dibuat saat pengguna jarak jauh atau lokal terhubung ke PowerShell di komputer lokal.
Administrator komputer dapat menggunakan konfigurasi sesi untuk melindungi komputer dan menentukan lingkungan kustom bagi pengguna yang tersambung ke komputer.
Administrator juga dapat menggunakan konfigurasi sesi untuk menentukan izin yang diperlukan untuk tersambung ke komputer dari jarak jauh. Secara default, hanya anggota grup Administrator yang memiliki izin untuk menggunakan konfigurasi sesi untuk tersambung dari jarak jauh, tetapi Anda dapat mengubah pengaturan default untuk mengizinkan semua pengguna, atau pengguna yang dipilih, untuk tersambung dari jarak jauh ke komputer Anda.
Dimulai di PowerShell 3.0, Anda dapat menggunakan file konfigurasi sesi untuk menentukan elemen konfigurasi sesi. Fitur ini memudahkan untuk menyesuaikan sesi tanpa menulis kode dan menemukan properti konfigurasi sesi. Untuk membuat file konfigurasi sesi, gunakan cmdlet New-PSSessionConfiguration. Untuk informasi selengkapnya tentang file konfigurasi sesi, lihat about_Session_Configuration_Files.
Konfigurasi sesi adalah fitur jarak jauh PowerShell berbasis WSMAN. Mereka hanya digunakan ketika Anda menggunakan New-PSSession
cmdlet , , Invoke-Command
atau Enter-PSSession
untuk menyambungkan ke komputer Windows jarak jauh.
Untuk mengelola konfigurasi sesi di komputer Windows, mulai PowerShell dengan opsi Jalankan sebagai administrator .
Tentang Konfigurasi Sesi
Setiap sesi PowerShell menggunakan konfigurasi sesi. Ini termasuk sesi persisten yang Anda buat dengan menggunakan cmdlet New-PSSession atau Enter-PSSession, dan sesi sementara yang dibuat PowerShell saat Anda menggunakan parameter ComputerName cmdlet yang menggunakan teknologi jarak jauh berbasis WS-Management, seperti Invoke-Command.
Administrator dapat menggunakan konfigurasi sesi untuk melindungi sumber daya komputer dan membuat lingkungan kustom bagi pengguna yang tersambung ke komputer. Misalnya, Anda dapat menggunakan konfigurasi sesi untuk membatasi ukuran objek yang diterima komputer dalam sesi, untuk menentukan mode bahasa sesi, dan untuk menentukan cmdlet, penyedia, dan fungsi yang tersedia dalam sesi.
Dengan mengonfigurasi pendeskripsi keamanan konfigurasi sesi, Anda menentukan siapa yang dapat menggunakan konfigurasi sesi untuk menyambungkan ke komputer. Pengguna harus memiliki izin Jalankan ke konfigurasi sesi untuk menggunakannya dalam sesi. Jika pengguna tidak memiliki izin yang diperlukan untuk menggunakan konfigurasi sesi apa pun di komputer, pengguna tidak dapat tersambung ke komputer dari jarak jauh.
Secara default, hanya Administrator komputer yang memiliki izin untuk menggunakan konfigurasi sesi default. Namun, Anda dapat mengubah deskriptor keamanan untuk mengizinkan semua orang, tidak ada, atau hanya pengguna yang dipilih untuk menggunakan konfigurasi sesi di komputer Anda.
Konfigurasi Sesi Bawaan
PowerShell 3.0 menyertakan konfigurasi sesi bawaan bernama Microsoft.PowerShell dan Microsoft.PowerShell.Workflow. Pada komputer yang menjalankan Windows versi 64-bit, PowerShell juga menyediakan Microsoft.PowerShell32, konfigurasi sesi 32-bit.
Konfigurasi sesi Microsoft.PowerShell digunakan untuk sesi secara default, yaitu, ketika perintah untuk membuat sesi tidak menyertakan parameter ConfigurationName dari cmdlet New-PSSession, Enter-PSSession, atau Invoke-Command.
Deskriptor keamanan untuk konfigurasi sesi default hanya mengizinkan anggota grup Administrator di komputer lokal untuk menggunakannya. Dengan demikian, hanya anggota grup Administrator yang dapat tersambung ke komputer dari jarak jauh kecuali Anda mengubah pengaturan default.
Anda dapat mengubah konfigurasi sesi default dengan menggunakan variabel preferensi $PSSessionConfigurationName. Untuk informasi selengkapnya, lihat about_Preference_Variables.
Menampilkan Konfigurasi Sesi di Komputer Lokal
Untuk mendapatkan konfigurasi sesi di komputer lokal Anda, gunakan cmdlet Get-PSSessionConfiguration.
Misalnya, ketik:
PS C:> Get-PSSessionConfiguration | Format-List -Property Name, Permission
Name : microsoft.powershell
Permission : BUILTIN\Administrators AccessAllowed
Name : microsoft.powershell.workflow
Permission : BUILTIN\Administrators AccessAllowed
Name : microsoft.powershell32
Permission : BUILTIN\Administrators AccessAllowed
Objek konfigurasi sesi diperluas di PowerShell 3.0 untuk menampilkan properti konfigurasi sesi yang dikonfigurasi dengan menggunakan file konfigurasi sesi.
Misalnya, untuk melihat semua properti objek konfigurasi sesi, ketik:
PS C:> Get-PSSessionConfiguration | Format-List -Property *
Anda juga dapat menggunakan penyedia WSMan di PowerShell untuk melihat konfigurasi sesi. Penyedia WSMan membuat WSMAN: drive di sesi Anda.
Di drive WSMAN: , konfigurasi sesi ada di simpul Plugin. (Semua konfigurasi sesi ada di simpul Plugin, tetapi ada item di simpul Plugin yang bukan konfigurasi sesi.)
Misalnya, untuk melihat konfigurasi sesi di komputer lokal, ketik:
PS C:> dir wsman:\localhost\plugin\microsoft*
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
Type Keys Name
---- ---- ----
Container {Name=microsoft.powershell} microsoft.powershell
Container {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container {Name=microsoft.powershell32} microsoft.powershell32
Menampilkan Konfigurasi Sesi pada Komputer Jarak Jauh
Untuk melihat konfigurasi sesi di komputer jarak jauh, gunakan cmdlet Connect-WSMan untuk menambahkan catatan untuk komputer jarak jauh ke WSMAN: drive di komputer lokal Anda, lalu gunakan drive WSMAN: untuk melihat konfigurasi sesi.
Misalnya, perintah berikut menambahkan simpul untuk komputer jarak jauh Server01 ke drive WSMAN: di komputer lokal.
PS C:> Connect-WSMan server01.corp.fabrikam.com
Setelah perintah selesai, Anda dapat menavigasi ke simpul untuk komputer Server01 untuk melihat konfigurasi sesi.
Contohnya:
PS C:> cd wsman:
PS WSMan:> dir
ComputerName Type
------------ ----
localhost Container
server01.corp.fabrikam.com Container
PS WSMan:> dir server01\plugin\
WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Pl
ugin
Type Keys Name
---- ---- ----
Container {Name=microsoft.powershell} microsoft.powershell
Container {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container {Name=microsoft.powershell32} microsoft.powershell32
Mengubah Pendeskripsi Keamanan Konfigurasi Sesi
Di Windows Server 2012 dan rilis Windows Server yang lebih baru, konfigurasi sesi bawaan diaktifkan untuk pengguna jarak jauh secara default. Di versi Windows lain yang didukung, Anda harus mengubah deskriptor keamanan konfigurasi sesi untuk mengizinkan akses jarak jauh.
Untuk mengaktifkan akses jarak jauh ke konfigurasi sesi di komputer, gunakan cmdlet Enable-PSRemoting. Cmdlet ini membuat dua konfigurasi sesi:
- dengan nama yang didefinisikan sebagai: "PowerShell." + "versi PowerShell saat ini"
- dengan nama "PowerShell.6", tidak terikat ke versi PowerShell tertentu.
Selain itu, secara default, hanya anggota grup Administrator di komputer yang memiliki izin Jalankan ke konfigurasi sesi default, tetapi Anda dapat mengubah deskriptor keamanan pada konfigurasi sesi default dan pada konfigurasi sesi apa pun yang Anda buat.
Untuk memberi pengguna lain izin untuk terhubung ke komputer dari jarak jauh, gunakan cmdlet Set-PSSessionConfiguration untuk menambahkan izin "Jalankan" bagi pengguna tersebut ke deskriptor keamanan konfigurasi sesi Microsoft.PowerShell dan Microsoft.PowerShell32.
Misalnya, perintah berikut membuka halaman properti yang memungkinkan Anda mengubah deskriptor keamanan untuk konfigurasi sesi default Microsoft.PowerShell.
Set-PSSessionConfiguration -name Microsoft.PowerShell `
-ShowSecurityDescriptorUI
Untuk menolak izin semua orang ke semua konfigurasi sesi di komputer, gunakan cmdlet Disable-PSSessionConfiguration. Misalnya, perintah berikut menonaktifkan konfigurasi sesi default di komputer.
PS C:> Disable-PSSessionConfiguration -Name Microsoft.PowerShell
Untuk mencegah pengguna jarak jauh tersambung ke komputer, tetapi izinkan pengguna lokal untuk terhubung, gunakan cmdlet Disable-PSRemoting. Disable-PSRemoting menambahkan entri "Network_Deny_All" ke semua konfigurasi sesi di komputer.
PS C:> Disable-PSRemoting
Untuk mengizinkan pengguna jarak jauh menggunakan semua konfigurasi sesi di komputer, gunakan cmdlet Enable-PSRemoting atau Enable-PSSessionConfiguration. Misalnya, perintah berikut memungkinkan akses jarak jauh ke konfigurasi sesi bawaan.
PS C:> Enable-PSSessionConfiguration -name Microsoft.Power*
Untuk membuat perubahan lain pada deskriptor keamanan konfigurasi sesi, gunakan cmdlet Set-PSSessionConfiguration. Gunakan parameter SecurityDescriptorSDDL untuk mengirimkan nilai string SDDL. Gunakan parameter ShowSecurityDescriptorUI untuk menampilkan lembar properti antarmuka pengguna yang membantu Anda membuat SDDL baru.
Contohnya:
Set-PSSessionConfiguration -Name Microsoft.PowerShell `
-ShowSecurityDescriptorUI
Membuat Konfigurasi Sesi Baru
Untuk membuat konfigurasi sesi baru di komputer lokal, gunakan cmdlet Register-PSSessionConfiguration. Untuk menentukan konfigurasi sesi baru, Anda dapat menggunakan rakitan C#, skrip PowerShell, dan parameter cmdlet Register-PSSessionConfiguration.
Misalnya, perintah berikut membuat konfigurasi sesi yang identik dengan konfigurasi sesi Microsoft.PowerShell, kecuali membatasi data yang diterima dari perintah jarak jauh menjadi 20 megabyte (MB). (Defaultnya adalah 50 MB).
Register-PSSessionConfiguration -Name NewConfig `
-MaximumReceivedDataSizePerCommandMB 20
Saat membuat konfigurasi sesi, Anda dapat mengelolanya dengan menggunakan cmdlet konfigurasi sesi lainnya, dan itu muncul di drive WSMAN: .
Untuk informasi selengkapnya, lihat Register-PSSessionConfiguration.
Menghapus Konfigurasi Sesi
Untuk menghapus konfigurasi sesi dari komputer lokal, gunakan cmdlet Unregister-PSSessionConfiguration. Misalnya, perintah berikut menghapus konfigurasi sesi NewConfig dari komputer.
PS C:> Unregister-PSSessionConfiguration -Name NewConfig
Untuk informasi selengkapnya, lihat Unregister-PSSessionConfiguration.
Memulihkan Konfigurasi Sesi
Untuk memulihkan konfigurasi sesi default yang dihapus (tidak terdaftar) secara tidak sengaja, gunakan cmdlet Enable-PSRemoting.
Cmdlet Enable-PSRemoting membuat ulang semua konfigurasi sesi default yang tidak ada di komputer. Ini tidak menimpa atau mengubah nilai properti dari konfigurasi sesi yang ada.
Untuk memulihkan nilai properti asli dari konfigurasi sesi default, gunakan Unregister-PSSessionConfiguration untuk menghapus konfigurasi sesi lalu gunakan cmdlet Enable-PSRemoting untuk membuatnya kembali.
Memilih Konfigurasi Sesi
Untuk memilih konfigurasi sesi tertentu untuk sesi, gunakan parameter ConfigurationName new-PSSession, Enter-PSSession, atau Invoke-Command.
Misalnya, perintah ini menggunakan cmdlet New-PSSession untuk memulai PSSession di komputer Server01. Perintah menggunakan parameter ConfigurationName untuk memilih konfigurasi WithProfile di komputer Server01.
PS C:> New-PSSession -ComputerName Server01 -ConfigurationName WithProfile
Perintah ini akan berhasil hanya jika pengguna saat ini memiliki izin untuk menggunakan konfigurasi sesi WithProfile atau dapat memberikan kredensial pengguna yang memiliki izin yang diperlukan.
Anda juga dapat menggunakan variabel preferensi $PSSessionConfigurationName untuk mengubah konfigurasi sesi default di komputer. Untuk informasi selengkapnya tentang variabel preferensi $PSSessionConfigurationName, lihat about_Preference_Variables.
KATA KUNCI
about_Endpoints about_SessionConfigurations
Lihat juga
- about_Preference_Variables
- about_PSSessions
- about_Remote
- about_Session_Configuration_Files
- New-PSSession
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Unregister-PSSessionConfiguration
- New-PSSessionConfigurationFile
- Test-PSSessionConfigurationFile