Bagikan melalui


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
     [-HostName] <String>
     [-Options <Hashtable>]
     [-Port <Int32>]
     [-UserName <String>]
     [-KeyFilePath <String>]
     [-Subsystem <String>]
     [-ConnectingTimeout <Int32>]
     [-SSHTransport]
     [<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-PSSessioncmdlet , , Connect-PSSessionatau Receive-PSSession untuk memutuskan sambungan dari atau terhubung kembali ke sesi interaktif.

Dimulai dengan PowerShell 6.0 Anda dapat menggunakan Secure Shell (SSH) untuk membuat koneksi ke komputer jarak jauh. Anda harus memiliki SSH di komputer lokal dan komputer jarak jauh harus dikonfigurasi dengan titik akhir PowerShell SSH. Manfaat dari sesi jarak jauh PowerShell berbasis SSH adalah berfungsi di beberapa platform (Windows, Linux, macOS). Untuk jarak jauh berbasis SSH, Anda menggunakan parameter HostName yang diatur untuk menentukan komputer jarak jauh dan informasi koneksi yang relevan. Untuk informasi selengkapnya tentang cara menyiapkan remoting PowerShell SSH, lihat PowerShell Remoting Over SSH.

Untuk mengakhiri sesi interaktif dan memutuskan sambungan dari komputer jarak jauh, gunakan Exit-PSSession cmdlet, atau ketik exit.

Penting

Enter-PSSession dirancang untuk mengganti sesi interaktif saat ini dengan sesi jarak jauh interaktif baru. Anda tidak boleh memanggilnya dari dalam fungsi atau skrip atau dengan meneruskannya sebagai perintah ke executable pwsh .

Contoh

Contoh 1: Memulai sesi interaktif

PS> Enter-PSSession
[localhost]: PS>

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. Get-ChildItem Perintah ("dir") di 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.

Contoh 6: Memulai sesi interaktif menggunakan SSH

PS> Enter-PSSession -HostName UserA@LinuxServer01

Contoh ini menunjukkan cara memulai sesi interaktif menggunakan Secure Shell (SSH). Jika SSH dikonfigurasi pada komputer jarak jauh untuk menggunakan kata sandi, Maka Anda diminta untuk memasukkan kata sandi. Jika tidak, Anda harus menggunakan autentikasi pengguna berbasis kunci.

Contoh 7: Memulai sesi interaktif menggunakan SSH dengan port dan kunci autentikasi pengguna

PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath c:\sshkeys\userAKey_rsa

Contoh ini menunjukkan cara memulai sesi interaktif menggunakan SSH. Nama pengguna dan nomor port SSH ditentukan sebagai bagian dari nilai parameter HostName . Parameter KeyFilePath menentukan lokasi kunci RSA yang digunakan untuk mengautentikasi pengguna di komputer jarak jauh.

Contoh 8: Memulai sesi interaktif menggunakan opsi SSH

$options = @{
    Port=22
    User = 'UserA'
    Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath c:\sshkeys\userAKey_rsa -Options $options

Contoh ini menunjukkan cara memulai sesi interaktif menggunakan SSH. Parameter Opsi mengambil hashtable nilai yang diteruskan sebagai opsi ke perintah yang mendasar ssh yang menetapkan koneksi ke sistem jarak jauh.

Parameter

-AllowRedirection

Memungkinkan pengalihan koneksi ini ke Pengidentifikasi Sumber Daya Seragam (URI) alternatif. Secara default, pengalihan tidak diizinkan.

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 $PSSessionOption variabel preferensi. Nilai defaultnya adalah 5.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ApplicationName

Menentukan segmen nama aplikasi dari URI koneksi. Gunakan parameter ini untuk menentukan nama aplikasi saat Anda tidak menggunakan parameter ConnectionURI 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.

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. 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.

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 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: .

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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.

Jenis:String
Alias:Cn
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard: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.

Saat digunakan dengan SSH, ini menentukan subsistem yang akan digunakan pada target seperti yang didefinisikan dalam sshd_config. Nilai default untuk SSH adalah powershell subsistem.

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.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-ConnectingTimeout

Menentukan jumlah waktu dalam milidetik yang diizinkan agar koneksi SSH awal selesai. Jika koneksi tidak selesai dalam waktu yang ditentukan, kesalahan akan ditampilkan.

Parameter ini diperkenalkan di PowerShell 7.2

Jenis:Int32
Position:Named
Nilai default:unlimited
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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 ConnectionURI, Anda dapat menggunakan parameter UseSSL, ComputerName, Port, dan ApplicationName untuk menentukan nilai ConnectionURI.

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.

Jenis:Uri
Alias:URI, CU
Position:1
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-ContainerId

Menentukan ID kontainer.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard: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?.

Jenis:PSCredential
Position:1
Nilai default:Current user
Diperlukan:False
Terima input alur:True
Terima karakter wildcard: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.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-HostName

Menentukan nama komputer untuk koneksi berbasis Secure Shell (SSH). Ini mirip dengan parameter ComputerName kecuali bahwa koneksi ke komputer jarak jauh dibuat menggunakan SSH daripada Windows WinRM. Parameter ini mendukung penentuan nama pengguna dan/atau port sebagai bagian dari nilai parameter nama host menggunakan formulir user@hostname:port. Nama pengguna dan/atau port yang ditentukan sebagai bagian dari nama host lebih diutamakan daripada -UserName parameter dan -Port , jika ditentukan. Ini memungkinkan meneruskan beberapa nama komputer ke parameter ini di mana beberapa memiliki nama pengguna dan/atau port tertentu, sementara yang lain menggunakan nama pengguna dan/atau port dari -UserName parameter dan -Port .

Parameter ini diperkenalkan di PowerShell 6.0.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-Id

Menentukan ID sesi yang ada. Enter-PSSession menggunakan sesi yang ditentukan untuk sesi interaktif.

Untuk menemukan ID sesi, gunakan Get-PSSession cmdlet.

Jenis:Int32
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard: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.

Jenis:Guid
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-KeyFilePath

Menentukan jalur file kunci yang digunakan oleh Secure Shell (SSH) untuk mengautentikasi pengguna di komputer jarak jauh.

SSH memungkinkan autentikasi pengguna dilakukan melalui kunci privat/publik sebagai alternatif untuk autentikasi kata sandi dasar. Jika komputer jarak jauh dikonfigurasi untuk autentikasi kunci, parameter ini dapat digunakan untuk menyediakan kunci yang mengidentifikasi pengguna.

Parameter ini diperkenalkan di PowerShell 6.0.

Jenis:String
Alias:IdentityFilePath
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Options

Menentukan hashtable opsi SSH yang digunakan saat menyambungkan ke sesi berbasis SSH jarak jauh. Opsi yang mungkin adalah nilai apa pun yang didukung oleh versi berbasis Unix dari perintah ssh .

Nilai apa pun yang secara eksplisit diteruskan oleh parameter lebih diutamakan daripada nilai yang diteruskan dalam hashtable Opsi . Misalnya, menggunakan parameter Port mengambil alih pasangan kunci-nilai yang Port diteruskan dalam hashtable Opsi .

Jenis:Hashtable
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 perintah ini.

Di PowerShell 6.0 parameter ini disertakan dalam set parameter HostName yang mendukung koneksi Secure Shell (SSH).

WinRM (set parameter ComputerName)

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:

  1. winrm delete winrm/config/listener?Address=*+Transport=HTTP
  2. 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.

SSH (set parameter HostName)

Untuk tersambung ke komputer jarak jauh, komputer jarak jauh harus dikonfigurasi dengan layanan SSH (SSHD) dan harus mendengarkan port yang digunakan koneksi. Port default untuk SSH adalah 22.

Jenis:Int32
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-RunAsAdministrator

Menunjukkan bahwa PSSession berjalan sebagai administrator.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Session

Menentukan sesi 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.

Jenis:PSSession
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard: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.

Jenis:PSSessionOption
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SSHTransport

Menunjukkan bahwa koneksi jarak jauh dibuat menggunakan Secure Shell (SSH).

Secara default PowerShell menggunakan Windows WinRM untuk menyambungkan ke komputer jarak jauh. Sakelar ini memaksa PowerShell untuk menggunakan parameter HostName yang ditetapkan untuk membuat koneksi jarak jauh berbasis SSH.

Parameter ini diperkenalkan di PowerShell 6.0.

Jenis:SwitchParameter
Nilai yang diterima:true
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Subsystem

Menentukan subsistem SSH yang digunakan untuk PSSession baru.

Ini menentukan subsistem yang akan digunakan pada target seperti yang didefinisikan dalam sshd_config. Subsistem memulai versi PowerShell tertentu dengan parameter yang telah ditentukan sebelumnya. Jika subsistem yang ditentukan tidak ada di komputer jarak jauh, perintah gagal.

Jika parameter ini tidak digunakan, defaultnya powershell adalah subsistem.

Jenis:String
Position:Named
Nilai default:Powershell
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-UserName

Menentukan nama pengguna untuk akun yang digunakan untuk membuat sesi pada komputer jarak jauh. Metode autentikasi pengguna tergantung pada bagaimana Secure Shell (SSH) dikonfigurasi pada komputer jarak jauh.

Jika SSH dikonfigurasi untuk autentikasi kata sandi dasar, Anda akan dimintai kata sandi pengguna.

Jika SSH dikonfigurasi untuk autentikasi pengguna berbasis kunci, maka anda tidak dimintai kata sandi. Anda harus menyediakan jalur ke file kunci SSH. Jika file kunci pengguna terletak di lokasi SSH yang diketahui, parameter KeyFilePath tidak diperlukan. Autentikasi pengguna terjadi secara otomatis berdasarkan nama pengguna. Lihat dokumentasi SSH tentang autentikasi pengguna berbasis kunci untuk informasi selengkapnya.

Jika parameter UserName tidak ditentukan, maka nama pengguna yang masuk saat ini akan digunakan.

Parameter ini diperkenalkan di PowerShell 6.0.

Jenis:String
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 membuat koneksi ke komputer jarak jauh. 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:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VMId

Menentukan ID komputer virtual.

Jenis:Guid
Alias:VMGuid
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-VMName

Menentukan nama komputer virtual.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

Input

String

Anda dapat menyalurkan nama komputer sebagai string ke cmdlet ini.

PSSession

Anda dapat menyalurkan objek sesi ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.

Catatan

PowerShell menyertakan alias berikut untuk Enter-PSSession:

  • Semua platform:
    • 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-PSSessionGet-Commandmembutuhkan cmdlet , Out-Default, dan Exit-PSSession . Jika cmdlet ini tidak disertakan dalam konfigurasi sesi di 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.

Kumpulan parameter HostName disertakan dimulai dengan PowerShell 6.0. Ini ditambahkan untuk menyediakan Remoting PowerShell berdasarkan Secure Shell (SSH). Baik SSH maupun PowerShell didukung pada beberapa platform (Windows, Linux, macOS) dan PowerShell bekerja melalui platform ini di mana PowerShell dan SSH diinstal dan dikonfigurasi. Ini terpisah dari Windows sebelumnya hanya jarak jauh yang didasarkan pada WinRM dan banyak fitur dan batasan khusus WinRM tidak berlaku. Misalnya, kuota berbasis WinRM, opsi sesi, konfigurasi titik akhir kustom, dan fitur pemutusan sambungan/koneksi ulang saat ini tidak didukung. Untuk informasi selengkapnya tentang cara menyiapkan remoting PowerShell SSH, lihat PowerShell Remoting Over SSH.

Sebelum PowerShell 7.1, jarak jauh melalui SSH tidak mendukung sesi jarak jauh hop kedua. Kemampuan ini terbatas pada sesi menggunakan WinRM. PowerShell 7.1 memungkinkan Enter-PSSession dan Enter-PSHostProcess bekerja dari dalam sesi jarak jauh interaktif apa pun.

Executable ssh mendapatkan data konfigurasi dari sumber berikut dalam urutan berikut:

  1. opsi baris perintah
  2. file konfigurasi pengguna (~/.ssh/config)
  3. file konfigurasi di seluruh sistem (/etc/ssh/ssh_config)

Parameter cmdlet berikut dipetakan ke dalam ssh parameter dan opsi:

Parameter cmdlet parameter ssh opsi ssh -o yang setara
-KeyFilePath -i <KeyFilePath> -o IdentityFile=<KeyFilePath>
-UserName -l <UserName> -o User=<UserName>
-Port -p <Port> -o Port=<Port>
-ComputerName -Subsystem -s <ComputerName> <Subsystem> -o Host=<ComputerName>

Nilai apa pun yang secara eksplisit diteruskan oleh parameter lebih diutamakan daripada nilai yang diteruskan dalam hashtable Opsi . Untuk informasi selengkapnya tentang ssh_config file, lihat ssh_config(5).