Connect-PSSession
Sambungkan kembali ke sesi yang terputus.
Sintaks
Connect-PSSession
-Name <String[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-Session] <PSSession[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ConfigurationName <String>]
[-ConnectionUri] <Uri[]>
[-AllowRedirection]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ConfigurationName <String>]
[-ConnectionUri] <Uri[]>
[-AllowRedirection]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
-InstanceId <Guid[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ThrottleLimit <Int32>]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Connect-PSSession
Cmdlet terhubung kembali ke sesi PowerShell yang dikelola pengguna (PSSessions) yang terputus. Ini bekerja pada sesi yang terputus dengan sengaja, seperti dengan menggunakan Disconnect-PSSession
cmdlet atau parameter InDisconnectedSession cmdlet Invoke-Command
, dan yang terputus secara tidak sengaja, seperti oleh pemadaman jaringan sementara.
Connect-PSSession
dapat tersambung ke sesi terputus yang dimulai oleh pengguna yang sama. Ini termasuk yang dimulai oleh atau terputus dari sesi lain pada komputer lain.
Namun, Connect-PSSession
tidak dapat tersambung ke sesi yang rusak atau tertutup, atau sesi interaktif yang dimulai dengan menggunakan Enter-PSSession
cmdlet. Anda juga tidak dapat menyambungkan sesi ke sesi yang dimulai oleh pengguna lain, kecuali Anda dapat memberikan kredensial pengguna yang membuat sesi.
Untuk informasi selengkapnya tentang fitur Sesi Terputus, lihat about_Remote_Disconnected_Sessions.
Cmdlet ini diperkenalkan di Windows PowerShell 3.0.
Contoh
Contoh 1: Sambungkan kembali ke sesi
Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
4 ITTask Server01 Opened ITTasks Available
Perintah ini tersambung kembali ke ITTask
sesi pada komputer Server01.
Output menunjukkan bahwa perintah berhasil. Status sesi adalah Opened
dan Ketersediaannya adalah Available
, yang menunjukkan bahwa Anda dapat menjalankan perintah dalam sesi.
Contoh 2: Efek memutus sambungan dan menyambungkan kembali
Get-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Opened Microsoft.PowerShell Available
Get-PSSession | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Disconnected Microsoft.PowerShell None
Get-PSSession | Connect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Opened Microsoft.PowerShell Available
Contoh ini menunjukkan efek pemutusan sambungan lalu menyambungkan kembali ke sesi.
Perintah pertama menggunakan Get-PSSession
cmdlet. Tanpa parameter ComputerName, perintah hanya mendapatkan sesi yang dibuat dalam sesi saat ini.
Output menunjukkan bahwa perintah mendapatkan Backups
sesi di komputer lokal. Status sesi adalah Opened
dan Ketersediaannya adalah Available
.
Perintah kedua menggunakan Get-PSSession
cmdlet untuk mendapatkan objek PSSession yang dibuat dalam sesi saat ini dan Disconnect-PSSession
cmdlet untuk memutuskan sesi. Output menunjukkan bahwa Backups
sesi terputus. Status sesi adalah Disconnected
dan Ketersediaannya adalah None
.
Perintah ketiga menggunakan Get-PSSession
cmdlet untuk mendapatkan objek PSSession yang dibuat dalam sesi saat ini dan Connect-PSSession
cmdlet untuk menyambungkan kembali sesi. Output menunjukkan bahwa Backups
sesi disambungkan kembali. Status sesi adalah Opened
dan Ketersediaannya adalah Available
.
Jika Anda menggunakan Connect-PSSession
cmdlet pada sesi yang tidak terputus, perintah tidak memengaruhi sesi dan tidak menghasilkan kesalahan apa pun.
Contoh 3: Serangkaian perintah dalam skenario perusahaan
Rangkaian perintah ini menunjukkan bagaimana Connect-PSSession
cmdlet dapat digunakan dalam skenario perusahaan. Dalam hal ini, administrator sistem memulai pekerjaan jangka panjang dalam sesi pada komputer jarak jauh. Setelah memulai pekerjaan, administrator memutuskan sambungan dari sesi dan pulang.
Kemudian malam itu, administrator masuk ke komputer rumahnya dan memverifikasi bahwa pekerjaan berjalan sampai selesai.
Administrator memulai dengan membuat sesi di komputer jarak jauh dan menjalankan skrip dalam sesi. Perintah pertama menggunakan New-PSSession
cmdlet untuk membuat ITTask
sesi di komputer jarak jauh Server01. Perintah menggunakan parameter ConfigurationName untuk menentukan ITTasks
konfigurasi sesi. Perintah menyimpan sesi dalam $s
variabel.
Cmdlet perintah Invoke-Command
kedua untuk memulai pekerjaan latar belakang dalam sesi dalam $s
variabel. Ini menggunakan parameter FilePath untuk menjalankan skrip dalam pekerjaan latar belakang.
Perintah ketiga menggunakan Disconnect-PSSession
cmdlet untuk memutuskan sambungan dari sesi dalam $s
variabel. Perintah menggunakan parameter OutputBufferingMode dengan nilai Drop
untuk mencegah skrip diblokir dengan harus mengirimkan output ke sesi. Ini menggunakan parameter IdleTimeoutSec untuk memperpanjang waktu sesi habis menjadi 15 jam. Ketika perintah selesai, administrator mengunci komputernya dan pulang untuk malam hari.
Kemudian malam itu, administrator memulai komputer rumahnya, masuk ke jaringan perusahaan, dan memulai PowerShell. Perintah keempat menggunakan Get-PSSession
cmdlet untuk mendapatkan sesi di komputer Server01. Perintah menemukan ITTask
sesi. Perintah kelima menggunakan Connect-PSSession
cmdlet untuk menyambungkan ke ITTask
sesi. Perintah menyimpan sesi dalam $s
variabel.
Perintah keenam menggunakan Invoke-Command
cmdlet untuk menjalankan Get-Job
perintah dalam sesi dalam $s
variabel. Output menunjukkan bahwa pekerjaan berhasil diselesaikan. Perintah ketujuh Invoke-Command
menggunakan cmdlet untuk menjalankan Receive-Job
perintah dalam sesi dalam $s
variabel dalam sesi. Perintah menyimpan hasil dalam $BackupSpecs
variabel. Perintah kedelapan Invoke-Command
menggunakan cmdlet untuk menjalankan skrip lain dalam sesi. Perintah menggunakan nilai $BackupSpecs
variabel dalam sesi sebagai input ke skrip.
$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
Invoke-Command -Session $s -ScriptBlock {Start-Job -FilePath \\Server30\Scripts\Backup-SQLDatabase.ps1}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Running True Server01 \\Server30\Scripts\Backup...
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
Get-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
$s = Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Opened ITTasks Available
Invoke-Command -Session $s -ScriptBlock {Get-Job}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Completed True Server01 \\Server30\Scripts\Backup...
Invoke-Command -Session $s -ScriptBlock {$BackupSpecs = Receive-Job -JobName Job2}
Invoke-Command -Session $s -ScriptBlock {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
Perintah kesembilan terputus dari sesi dalam $s
variabel. Administrator menutup PowerShell dan menutup komputer. Dia dapat terhubung kembali ke sesi pada hari berikutnya dan memeriksa status skrip dari komputer kerjanya.
Parameter
-AllowRedirection
Menunjukkan bahwa cmdlet ini memungkinkan pengalihan koneksi ini ke URI alternatif.
Saat Anda menggunakan parameter ConnectionURI , tujuan jarak jauh dapat mengembalikan instruksi untuk mengalihkan ke URI yang berbeda. Secara default, PowerShell tidak mengalihkan koneksi, tetapi Anda dapat menggunakan parameter ini untuk memungkinkannya mengalihkan koneksi.
Anda juga dapat membatasi berapa kali koneksi dialihkan dengan mengubah nilai opsi sesi MaximumConnectionRedirectionCount . Gunakan parameter MaximumRedirection cmdlet New-PSSessionOption
atau atur properti MaximumConnectionRedirectionCount dari variabel preferensi $PSSessionOption. Nilai defaultnya adalah 5
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ApplicationName
Menentukan nama aplikasi. Cmdlet ini hanya terhubung ke sesi yang menggunakan aplikasi yang ditentukan.
Masukkan segmen nama aplikasi dari URI koneksi. Misalnya, dalam URI koneksi berikut, nama aplikasinya adalah WSMan: http://localhost:5985/WSMAN
. Nama aplikasi sesi disimpan di properti Runspace.ConnectionInfo.AppName sesi.
Nilai parameter ini digunakan untuk memilih dan memfilter sesi. Ini tidak mengubah aplikasi yang digunakan sesi.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Authentication
Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna dalam perintah untuk menyambungkan kembali ke sesi yang terputus. Nilai yang dapat diterima untuk parameter ini adalah:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Nilai defaultnya adalah Default
.
Untuk informasi selengkapnya tentang nilai parameter ini, lihat Enumerasi AuthenticationMechanism.
Perhatian
Autentikasi Penyedia Dukungan Keamanan Kredensial (CredSSP), di mana kredensial pengguna diteruskan ke komputer jarak jauh untuk diautentikasi, dirancang untuk perintah yang memerlukan autentikasi pada lebih dari satu sumber daya, seperti mengakses berbagi jaringan jarak jauh. Mekanisme ini meningkatkan risiko keamanan operasi jarak jauh. Jika komputer jarak jauh disusupi, kredensial yang diteruskan ke komputer jarak jauh dapat digunakan untuk mengontrol sesi jaringan.
Jenis: | AuthenticationMechanism |
Nilai yang diterima: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-CertificateThumbprint
Menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk menyambungkan ke sesi yang terputus. Masukkan thumbprint sertifikat sertifikat.
Sertifikat digunakan dalam autentikasi berbasis sertifikat klien. Mereka hanya dapat dipetakan ke akun pengguna lokal. Mereka tidak bekerja dengan akun domain.
Untuk mendapatkan thumbprint sertifikat, gunakan Get-Item
perintah atau Get-ChildItem
di drive PowerShell Cert:
.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ComputerName
Menentukan komputer tempat sesi terputus disimpan. Sesi disimpan di komputer yang berada di sisi server atau menerima akhir koneksi. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat dari satu komputer. Karakter kartubebas tidak diizinkan. Untuk menentukan komputer lokal, ketik nama komputer, localhost
, atau titik (.
)
Jenis: | String[] |
Alias: | Cn |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ConfigurationName
Menyambungkan hanya ke sesi yang menggunakan konfigurasi sesi yang ditentukan.
Masukkan nama konfigurasi atau URI sumber daya yang sepenuhnya memenuhi syarat untuk konfigurasi sesi. Jika Anda hanya menentukan nama konfigurasi, URI skema berikut ditangguhkan: http://schemas.microsoft.com/powershell
. Nama konfigurasi sesi disimpan di properti ConfigurationName sesi.
Nilai parameter ini digunakan untuk memilih dan memfilter sesi. Ini tidak mengubah konfigurasi sesi yang digunakan sesi.
Untuk informasi selengkapnya tentang konfigurasi sesi, lihat about_Session_Configurations.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ConnectionUri
Menentukan URI titik akhir koneksi untuk sesi yang terputus.
URI harus sepenuhnya memenuhi syarat. Format string ini adalah sebagai berikut:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Nilai defaultnya adalah sebagai berikut:
http://localhost:5985/WSMAN
Jika Anda tidak menentukan URI koneksi, Anda dapat menggunakan parameter UseSSL dan Port untuk menentukan nilai URI koneksi.
Nilai yang valid untuk segmen Transportasi URI adalah HTTP dan HTTPS. Jika Anda menentukan URI koneksi dengan segmen Transportasi, tetapi jangan tentukan port, sesi dibuat dengan port standar: 80
untuk HTTP dan 443
untuk HTTPS. Untuk menggunakan port default untuk remoting PowerShell, tentukan port 5985
untuk HTTP atau 5986
untuk HTTPS.
Jika komputer tujuan mengalihkan koneksi ke URI yang berbeda, PowerShell mencegah pengalihan kecuali Anda menggunakan parameter AllowRedirection dalam perintah.
Jenis: | Uri[] |
Alias: | URI, CU |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk menyambungkan ke sesi terputus. Defaultnya adalah pengguna saat ini.
Ketik nama pengguna, seperti User01
atau Domain01\User01
, atau masukkan objek PSCredential yang dihasilkan oleh Get-Credential
cmdlet. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.
Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.
Catatan
Untuk informasi selengkapnya tentang perlindungan data SecureString , lihat Seberapa aman SecureString?.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | Current user |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Id
Menentukan ID sesi yang terputus. Parameter Id hanya berfungsi ketika sesi yang terputus sebelumnya tersambung ke sesi saat ini.
Parameter ini valid, tetapi tidak efektif, ketika sesi disimpan di komputer lokal, tetapi tidak tersambung ke sesi saat ini.
Jenis: | Int32[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-InstanceId
Menentukan ID instans sesi yang terputus.
ID instans adalah GUID yang secara unik mengidentifikasi PSSession di komputer lokal atau jarak jauh.
ID instans disimpan di properti InstanceID dari PSSession.
Jenis: | Guid[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Name
Menentukan nama yang mudah diingat dari sesi yang terputus.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Port
Menentukan port jaringan pada komputer jarak jauh yang digunakan untuk menyambungkan kembali ke sesi. Untuk tersambung ke komputer jarak jauh, komputer jarak jauh harus mendengarkan porta yang digunakan koneksi. Port default adalah 5985
, yang merupakan port WinRM untuk HTTP, dan 5986
, yang merupakan port WinRM untuk HTTPS.
Sebelum menggunakan port alternatif, Anda harus mengonfigurasi pendengar WinRM di komputer jarak jauh untuk mendengarkan di port tersebut. Untuk mengonfigurasi pendengar, ketik dua perintah berikut pada prompt PowerShell:
Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse
New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>
Jangan gunakan parameter Port kecuali Anda harus. Port yang diatur dalam perintah berlaku untuk semua komputer atau sesi tempat perintah dijalankan. Pengaturan port alternatif mungkin mencegah perintah berjalan pada semua komputer.
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Session
Menentukan sesi yang terputus. Masukkan variabel yang berisi objek PSSession atau perintah yang membuat atau mendapatkan objek PSSession , seperti Get-PSSession
perintah.
Jenis: | PSSession[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-SessionOption
Menentukan opsi tingkat lanjut untuk sesi tersebut. Masukkan objek SessionOption, seperti objek yang Anda buat dengan menggunakan New-PSSessionOption
cmdlet, atau tabel hash tempat kunci adalah nama opsi sesi dan nilainya adalah nilai opsi sesi.
Nilai default untuk opsi ditentukan oleh nilai $PSSessionOption
variabel preferensi, jika diatur. Jika tidak, nilai default ditetapkan oleh opsi yang diatur dalam konfigurasi sesi.
Nilai opsi sesi lebih diutamakan daripada nilai default untuk sesi yang diatur dalam $PSSessionOption
variabel preferensi dan dalam konfigurasi sesi. Namun, mereka tidak lebih diutamakan daripada nilai, kuota, atau batas maksimum yang ditetapkan dalam konfigurasi sesi.
Untuk deskripsi opsi sesi yang menyertakan nilai default, lihat New-PSSessionOption
. Untuk informasi tentang variabel preferensi $PSSessionOption , lihat about_Preference_Variables. Untuk informasi selengkapnya tentang konfigurasi sesi, lihat about_Session_Configurations.
Jenis: | PSSessionOption |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ThrottleLimit
Menentukan jumlah maksimum koneksi bersamaan yang dapat dibuat untuk menjalankan perintah ini.
Jika Anda menghilangkan parameter ini atau memasukkan nilai 0
, nilai default, 32
, digunakan.
Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-UseSSL
Menunjukkan bahwa cmdlet ini menggunakan protokol Secure Sockets Layer (SSL) untuk menyambungkan ke sesi yang terputus. Secara default, SSL tidak digunakan.
WS-Management mengenkripsi semua konten PowerShell yang dikirimkan melalui jaringan. Parameter UseSSL adalah perlindungan tambahan yang mengirim data di seluruh koneksi HTTPS alih-alih koneksi HTTP.
Jika Anda menggunakan parameter ini, tetapi SSL tidak tersedia pada port yang digunakan untuk perintah , perintah gagal.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan sesi (PSSession) ke cmdlet ini.
Output
Cmdlet ini mengembalikan objek yang mewakili sesi yang terhubung kembali.
Catatan
Windows PowerShell menyertakan alias berikut untuk Connect-PSSession
:
cnsn
Cmdlet ini hanya tersedia di platform Windows.
Connect-PSSession
terhubung kembali hanya ke sesi yang terputus, yaitu sesi yang memiliki nilai Terputus untuk properti Status . Hanya sesi yang tersambung ke, atau berakhir pada, komputer yang menjalankan Windows PowerShell 3.0 atau versi yang lebih baru yang dapat diputuskan dan disambungkan kembali.Jika Anda menggunakan
Connect-PSSession
pada sesi yang tidak terputus, perintah tidak memengaruhi sesi dan tidak menghasilkan kesalahan.Sesi loopback yang terputus dengan token interaktif, yang dibuat dengan menggunakan parameter EnableNetworkAccess , hanya dapat disambungkan kembali dari komputer tempat sesi dibuat. Pembatasan ini melindungi komputer dari akses berbahaya.
Nilai properti Status dari PSSession relatif terhadap sesi saat ini. Oleh karena itu, nilai Terputus berarti bahwa PSSession tidak terhubung ke sesi saat ini. Namun, itu tidak berarti bahwa PSSession terputus dari semua sesi. Ini mungkin terhubung ke sesi yang berbeda. Untuk menentukan apakah Anda dapat menyambungkan atau menyambungkan kembali ke sesi, gunakan properti Ketersediaan .
Nilai Ketersediaan Tidak Ada menunjukkan bahwa Anda dapat tersambung ke sesi. Nilai Sibuk menunjukkan bahwa Anda tidak dapat tersambung ke PSSession karena terhubung ke sesi lain.
Untuk informasi selengkapnya tentang nilai properti Status sesi, lihat Enumerasi RunspaceState.
Untuk informasi selengkapnya tentang nilai properti Ketersediaan sesi, lihat Enumerasi Ketersediaan Runspace.
Anda tidak dapat mengubah nilai batas waktu diam PSSession saat Anda tersambung ke PSSession. Parameter SessionOption mengambil
Connect-PSSession
objek SessionOption yang memiliki nilai IdleTimeout . Namun, nilai IdleTimeout dari objek SessionOption dan nilai IdleTimeout variabel$PSSessionOption
diabaikan saat menyambungkan ke PSSession.Anda dapat mengatur dan mengubah batas waktu diam PSSession saat membuat PSSession, dengan menggunakan
New-PSSession
cmdlet atauInvoke-Command
, dan ketika Anda memutuskan sambungan dari PSSession.Properti IdleTimeout dari PSSession sangat penting untuk sesi yang terputus, karena menentukan berapa lama sesi yang terputus dipertahankan di komputer jarak jauh. Sesi yang terputus dianggap menganggur sejak terputus, bahkan jika perintah berjalan dalam sesi yang terputus.