Enter-PSSession
Memulai sesi interaktif dengan komputer jarak jauh.
Sintaks
Enter-PSSession
[-ComputerName] <String>
[-EnableNetworkAccess]
[-Credential <PSCredential>]
[-ConfigurationName <String>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Enter-PSSession
[[-Session] <PSSession>]
[<CommonParameters>]
Enter-PSSession
[[-ConnectionUri] <Uri>]
[-EnableNetworkAccess]
[-Credential <PSCredential>]
[-ConfigurationName <String>]
[-AllowRedirection]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Enter-PSSession
[-InstanceId <Guid>]
[<CommonParameters>]
Enter-PSSession
[[-Id] <Int32>]
[<CommonParameters>]
Enter-PSSession
[-Name <String>]
[<CommonParameters>]
Enter-PSSession
[-VMId] <Guid>
-Credential <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
Enter-PSSession
[-VMName] <String>
-Credential <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
Enter-PSSession
[-ContainerId] <String>
[-ConfigurationName <String>]
[-RunAsAdministrator]
[<CommonParameters>]
Deskripsi
Enter-PSSession
Cmdlet memulai sesi interaktif dengan satu komputer jarak jauh. Selama sesi, perintah yang Anda ketik berjalan di komputer jarak jauh, seolah-olah Anda mengetik langsung di komputer jarak jauh. Anda hanya dapat memiliki satu sesi interaktif pada satu waktu.
Biasanya, Anda menggunakan parameter ComputerName untuk menentukan nama komputer jarak jauh.
Namun, Anda juga dapat menggunakan sesi yang Anda buat dengan menggunakan New-PSSession
cmdlet untuk sesi interaktif. Namun, Anda tidak dapat menggunakan Disconnect-PSSession
cmdlet , Connect-PSSession
, atau Receive-PSSession
untuk memutuskan sambungan dari atau terhubung kembali ke sesi interaktif.
Untuk mengakhiri sesi interaktif dan memutuskan sambungan dari komputer jarak jauh, gunakan Exit-PSSession
cmdlet, atau ketik exit
.
Contoh
Contoh 1: Memulai sesi interaktif
PS C:\> Enter-PSSession
[localhost]: PS C:\>
Perintah ini memulai sesi interaktif pada komputer lokal. Perintah berubah untuk menunjukkan bahwa Anda sekarang menjalankan perintah dalam sesi yang berbeda.
Perintah yang Anda masukkan berjalan di sesi baru, dan hasilnya dikembalikan ke sesi default sebagai teks.
Contoh 2: Bekerja dengan sesi interaktif
Perintah pertama menggunakan Enter-PSSession
cmdlet untuk memulai sesi interaktif dengan Server01, komputer jarak jauh. Saat sesi dimulai, perintah berubah untuk menyertakan nama komputer.
Perintah kedua mendapatkan proses PowerShell dan mengalihkan output ke Process.txt
file.
Perintah dikirimkan ke komputer jarak jauh, dan file disimpan di komputer jarak jauh.
Perintah ketiga menggunakan kata kunci Keluar untuk mengakhiri sesi interaktif dan menutup koneksi.
Perintah keempat mengonfirmasi bahwa file Process.txt ada di komputer jarak jauh. Perintah Get-ChildItem
("dir") pada komputer lokal tidak dapat menemukan file.
PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process PowerShell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<< c:\ps-test\Process.txt
Perintah ini menunjukkan cara bekerja dalam sesi interaktif dengan komputer jarak jauh.
Contoh 3: Gunakan parameter Sesi
PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>
Perintah ini menggunakan parameter Enter-PSSession
Sesi untuk menjalankan sesi interaktif dalam sesi PowerShell yang ada (PSSession).
Contoh 4: Mulai sesi interaktif dan tentukan parameter Port dan Kredensial
PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>
Perintah ini memulai sesi interaktif dengan komputer Server01. Ini menggunakan parameter Port untuk menentukan port dan parameter Kredensial untuk menentukan akun pengguna yang memiliki izin untuk menyambungkan ke komputer jarak jauh.
Contoh 5: Menghentikan sesi interaktif
PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>
Contoh ini menunjukkan cara memulai dan menghentikan sesi interaktif. Perintah pertama menggunakan Enter-PSSession
cmdlet untuk memulai sesi interaktif dengan komputer Server01.
Perintah kedua menggunakan Exit-PSSession
cmdlet untuk mengakhiri sesi. Anda juga dapat menggunakan kata kunci Keluar untuk mengakhiri sesi interaktif. Exit-PSSession
dan Keluar memiliki efek yang sama.
Parameter
-AllowRedirection
Memungkinkan pengalihan koneksi ini ke Pengidentifikasi Sumber Daya Seragam (URI) alternatif. Secara default, pengalihan tidak diperbolehkan.
Saat Anda menggunakan parameter Koneksi ionURI, 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 Maximum Koneksi ionRedirectionCount. Gunakan parameter MaximumRedirection cmdlet New-PSSessionOption
atau atur properti Maximum Koneksi ionRedirectionCount dari $PSSessionOption
variabel preferensi. Nilai defaultnya adalah 5.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationName
Menentukan segmen nama aplikasi dari URI koneksi. Gunakan parameter ini untuk menentukan nama aplikasi saat Anda tidak menggunakan parameter Koneksi ionURI dalam perintah .
Nilai default adalah nilai $PSSessionApplicationName
variabel preferensi di komputer lokal. Jika variabel preferensi ini tidak ditentukan, nilai defaultnya adalah WSMAN. Nilai ini sesuai untuk sebagian besar penggunaan. Untuk informasi selengkapnya, lihat about_Preference_Variables.
Layanan WinRM menggunakan nama aplikasi untuk memilih pendengar untuk melayani permintaan koneksi. Nilai parameter ini harus cocok dengan nilai properti URLPrefix pendengar di komputer jarak jauh.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Authentication
Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna. Nilai yang dapat diterima untuk parameter ini adalah:
- Default
- Dasar
- Credssp
- digest
- Kerberos
- Negosiasi
- NegosiasiWithImplicitCredential
Nilai default-nya adalah Default.
Autentikasi CredSSP hanya tersedia di Windows Vista, Windows Server 2008, dan versi sistem operasi Windows yang lebih baru.
Untuk informasi selengkapnya tentang nilai parameter ini, lihat AuthenticationMechanism Enum.
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.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk melakukan tindakan ini. 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 sertifikat, gunakan Get-Item
perintah atau Get-ChildItem
di drive PowerShell Cert: .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Menentukan nama komputer. Cmdlet ini memulai sesi interaktif dengan komputer jarak jauh yang ditentukan. Masukkan hanya satu nama komputer. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain komputer yang sepenuhnya memenuhi syarat. Anda juga dapat menyalurkan nama komputer ke Enter-PSSession
.
Untuk menggunakan alamat IP dalam nilai parameter ComputerName , perintah harus menyertakan parameter Kredensial . Selain itu, komputer harus dikonfigurasi untuk transportasi HTTPS atau alamat IP komputer jarak jauh harus disertakan dalam daftar WinRM TrustedHosts di komputer lokal. Untuk instruksi menambahkan nama komputer ke daftar TrustedHosts, lihat "Cara Menambahkan Komputer ke Daftar Host Tepercaya" di about_Remote_Troubleshooting.
Catatan
Pada sistem operasi Windows, untuk menyertakan komputer lokal dalam nilai parameter ComputerName , Anda harus memulai PowerShell dengan opsi Jalankan sebagai administrator.
Type: | String |
Aliases: | Cn |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConfigurationName
Menentukan konfigurasi sesi yang digunakan untuk sesi interaktif.
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
.
Konfigurasi sesi untuk sesi terletak di komputer jarak jauh. Jika konfigurasi sesi yang ditentukan tidak ada di komputer jarak jauh, perintah gagal.
Nilai default adalah nilai $PSSessionConfigurationName
variabel preferensi di komputer lokal. Jika variabel preferensi ini tidak diatur, defaultnya adalah Microsoft.PowerShell. Untuk informasi selengkapnya, lihat about_Preference_Variables.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConnectionUri
Menentukan URI yang menentukan titik akhir koneksi untuk sesi. 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 Koneksi ionURI, Anda dapat menggunakan parameter UseSSL, ComputerName, Port, dan ApplicationName untuk menentukan nilai Koneksi ionURI.
Nilai yang valid untuk segmen Transportasi URI adalah HTTP dan HTTPS. Jika Anda menentukan URI koneksi dengan segmen Transportasi, tetapi tidak menentukan port, sesi dibuat dengan menggunakan 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.
Type: | Uri |
Aliases: | URI, CU |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ContainerId
Menentukan ID kontainer.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. 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?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnableNetworkAccess
Menunjukkan bahwa cmdlet ini menambahkan token keamanan interaktif ke sesi loopback. Token interaktif memungkinkan Anda menjalankan perintah dalam sesi loopback yang mendapatkan data dari komputer lain. Misalnya, Anda dapat menjalankan perintah dalam sesi yang menyalin file XML dari komputer jarak jauh ke komputer lokal.
Sesi loopback adalah PSSession yang berasal dan berakhir pada komputer yang sama. Untuk membuat sesi loopback, hilangkan parameter ComputerName atau atur nilainya ke . (titik), localhost, atau nama komputer lokal.
Secara default, sesi loopback dibuat dengan menggunakan token jaringan, yang mungkin tidak menyediakan izin yang memadai untuk mengautentikasi ke komputer jarak jauh.
Parameter EnableNetworkAccess hanya efektif dalam sesi loopback. Jika Anda menggunakan EnableNetworkAccess saat membuat sesi di komputer jarak jauh, perintah berhasil, tetapi parameter diabaikan.
Anda juga dapat mengizinkan akses jarak jauh dalam sesi loopback dengan menggunakan nilai CredSSP dari parameter Autentikasi , yang mendelegasikan kredensial sesi ke komputer lain.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Menentukan ID sesi yang ada. Enter-PSSession
menggunakan sesi yang ditentukan untuk sesi interaktif.
Untuk menemukan ID sesi, gunakan Get-PSSession
cmdlet.
Type: | Int32 |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InstanceId
Menentukan ID instans dari sesi yang ada. Enter-PSSession
menggunakan sesi yang ditentukan untuk sesi interaktif.
ID instans adalah GUID. Untuk menemukan ID instans sesi, gunakan Get-PSSession
cmdlet . Anda juga dapat menggunakan parameter Sesi, Nama, atau ID untuk menentukan sesi yang ada. Atau, Anda dapat menggunakan parameter ComputerName untuk memulai sesi sementara.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Menentukan nama yang mudah diingat dari sesi yang ada. Enter-PSSession
menggunakan sesi yang ditentukan untuk sesi interaktif.
Jika nama yang Anda tentukan cocok dengan lebih dari satu sesi, perintah gagal. Anda juga dapat menggunakan parameter Sesi, InstanceID, atau ID untuk menentukan sesi yang ada. Atau, Anda dapat menggunakan parameter ComputerName untuk memulai sesi sementara.
Untuk membuat nama yang mudah diingat untuk sesi, gunakan parameter New-PSSession
Nama cmdlet.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Menentukan port jaringan pada komputer jarak jauh yang digunakan untuk perintah ini. 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. Gunakan perintah berikut untuk mengonfigurasi listener:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Jangan gunakan parameter Port kecuali Anda harus. Pengaturan port dalam perintah berlaku untuk semua komputer atau sesi tempat perintah dijalankan. Pengaturan port alternatif mungkin mencegah perintah berjalan pada semua komputer.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsAdministrator
Menunjukkan bahwa PSSession berjalan sebagai administrator.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Session
Menentukan sesi Windows PowerShell (PSSession) yang akan digunakan untuk sesi interaktif. Parameter ini mengambil objek sesi. Anda juga dapat menggunakan parameter Nama, InstanceID, atau ID untuk menentukan PSSession.
Masukkan variabel yang berisi objek sesi atau perintah yang membuat atau mendapatkan objek sesi, seperti New-PSSession
perintah atau Get-PSSession
. Anda juga dapat menyalurkan objek sesi ke Enter-PSSession
. Anda hanya dapat mengirimkan satu PSSession dengan menggunakan parameter ini. Jika Anda memasukkan variabel yang berisi lebih dari satu PSSession, perintah gagal.
Saat Anda menggunakan Exit-PSSession
atau kata kunci EXIT , sesi interaktif berakhir, tetapi PSSession yang Anda buat tetap terbuka dan tersedia untuk digunakan.
Type: | PSSession |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SessionOption
Mengatur opsi tingkat lanjut untuk sesi. 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, termasuk nilai default, lihat New-PSSessionOption
.
Untuk informasi tentang $PSSessionOption
variabel preferensi, lihat about_Preference_Variables. Untuk informasi selengkapnya tentang konfigurasi sesi, lihat about_Session_Configurations.
Type: | PSSessionOption |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
Menunjukkan bahwa cmdlet ini menggunakan protokol Secure Sockets Layer (SSL) untuk membuat koneksi ke komputer jarak jauh. Secara default, SSL tidak digunakan.
WS-Management mengenkripsi semua konten Windows 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMId
Menentukan ID komputer virtual.
Type: | Guid |
Aliases: | VMGuid |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Menentukan nama komputer virtual.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan nama komputer sebagai string ke cmdlet ini.
Anda dapat menyalurkan objek sesi ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
Windows PowerShell menyertakan alias berikut untuk Enter-PSSession
:
etsn
Untuk tersambung ke komputer jarak jauh, Anda harus menjadi anggota grup Administrator pada komputer jarak jauh. Untuk memulai sesi interaktif di komputer lokal, Anda harus memulai PowerShell dengan opsi Jalankan sebagai administrator .
Saat Anda menggunakan Enter-PSSession
, profil pengguna Anda di komputer jarak jauh digunakan untuk sesi interaktif. Perintah di profil pengguna jarak jauh, termasuk perintah untuk menambahkan modul PowerShell dan untuk mengubah prompt perintah, jalankan sebelum perintah jarak jauh ditampilkan.
Enter-PSSession
menggunakan pengaturan budaya UI di komputer lokal untuk sesi interaktif. Untuk menemukan budaya UI lokal, gunakan $UICulture
variabel otomatis.
Enter-PSSession
Get-Command
membutuhkan cmdlet , Out-Default
, dan Exit-PSSession
. Jika cmdlet ini tidak disertakan dalam konfigurasi sesi pada komputer jarak jauh, Enter-PSSession
perintah gagal.
Tidak seperti Invoke-Command
, yang menguraikan dan menginterpretasikan perintah sebelum mengirimnya ke komputer jarak jauh, Enter-PSSession
mengirim perintah langsung ke komputer jarak jauh tanpa interpretasi.
Jika sesi yang ingin Anda masukkan sibuk memproses perintah, mungkin ada penundaan sebelum PowerShell merespons Enter-PSSession
perintah. Anda tersambung segera setelah sesi tersedia. Untuk membatalkan Enter-PSSession
perintah, tekan CTRL+C.
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk