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 tersambung 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 terhubung 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 memperbolehkan 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 akses jauh PowerShell berbasis WSMAN. Mereka hanya digunakan ketika Anda menggunakan New-PSSessioncmdlet , , Invoke-Commandatau Enter-PSSession untuk terhubung 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 untuk membuat lingkungan kustom bagi pengguna yang terhubung 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 bisa 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

Melihat 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 drive WSMAN: 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

Ketika 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 pendeskripsi 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 diikat 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 tersambung, 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 pendeskripsi 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 hingga 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 dari 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