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>
     [-Port <Int32>]
     [-UserName <String>]
     [-KeyFilePath <String>]
     [-SSHTransport]
     [-ConnectingTimeout <int>]
     [<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, sama seperti jika 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-PSSession, atau Receive-PSSession untuk memutuskan sambungan dari atau menyambungkan kembali ke sesi interaktif.

Dimulai dengan PowerShell 6.0 Anda dapat menggunakan Secure Shell (SSH) untuk membuat koneksi ke komputer jarak jauh, jika SSH tersedia di komputer lokal dan komputer jarak jauh dikonfigurasi dengan titik akhir PowerShell SSH. Manfaat 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 akses jauh PowerShell SSH, lihat PowerShell Remoting Melalui SSH.

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> 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. 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 memperlihatkan 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-PSSessionSesi 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 terhubung 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.

Parameter

-AllowRedirection

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

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.

Type:SwitchParameter
Position:Named
Default value: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 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.

Type:String
Position:Named
Default value:None
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
  • NegotiateWithImplicitCredential

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
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
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 untuk 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
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 ditambahkan sebelumnya: http://schemas.microsoft.com/powershell.

Saat digunakan dengan SSH, ini menentukan subsistem untuk 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.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-ConnectingTimeout

Menentukan jumlah waktu dalam milidetik yang diizinkan untuk menyelesaikan koneksi SSH awal. Jika koneksi tidak selesai dalam waktu yang ditentukan, kesalahan akan dikembalikan.

Parameter ini diperkenalkan di PowerShell 7.2

Type:Int32
Position:Named
Default value:unlimited
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionUri

Menentukan URI yang menentukan titik akhir koneksi untuk sesi tersebut. 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 jangan tentukan 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
Accept pipeline input:True
Accept wildcard characters:False

-ContainerId

Menentukan ID kontainer.

Type:String
Position:0
Default value:None
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 mengetik 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
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 di 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 dalam Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:0
Default value:None
Accept pipeline input:True
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
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
Accept pipeline input:True
Accept wildcard characters: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.

Type:String
Aliases:IdentityFilePath
Position:Named
Default value:None
Accept pipeline input:False
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-PSSessionNama cmdlet.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Port

Menentukan port jaringan pada komputer jarak jauh yang digunakan untuk perintah ini.

Di PowerShell 6.0, parameter ini dimasukkan 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 sambungan. 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 pendengar:

  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.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-RunAsAdministrator

Menunjukkan bahwa PSSession berjalan sebagai administrator.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters: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 akan 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
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 di mana 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 maksimum, kuota, atau batasan 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
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Accepted values:true
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters: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 adalah subsistem 'powershell'.

Type:String
Position:Named
Default value:Powershell
Accept pipeline input:True
Accept wildcard characters:False

-UserName

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

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

Jika SSH dikonfigurasi untuk autentikasi pengguna berbasis kunci, jalur file kunci dapat disediakan melalui parameter KeyFilePath dan tidak ada perintah kata sandi yang akan terjadi. Perhatikan bahwa jika file kunci pengguna klien terletak di lokasi SSH yang diketahui, parameter KeyFilePath tidak diperlukan untuk autentikasi berbasis kunci, dan autentikasi pengguna akan terjadi secara otomatis berdasarkan nama pengguna. Lihat dokumentasi SSH tentang autentikasi pengguna berbasis kunci untuk informasi selengkapnya.

Ini bukan parameter yang diperlukan. Jika tidak ada parameter UserName yang ditentukan, maka nama pengguna masuk saat ini digunakan untuk koneksi.

Parameter ini diperkenalkan di PowerShell 6.0.

Type:String
Position:Named
Default value:None
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 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
Accept pipeline input:False
Accept wildcard characters:False

-VMId

Menentukan ID komputer virtual.

Type:Guid
Aliases:VMGuid
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Menentukan nama komputer virtual.

Type:String
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Input

System.String, System.Management.Automation.Runspaces.PSSession

Anda dapat menyalurkan nama komputer, sebagai string, atau objek sesi ke cmdlet ini.

Output

None

Cmdlet tidak mengembalikan output apa pun.

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 mengurai dan menafsirkan 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.

Set parameter HostName disertakan dimulai dengan PowerShell 6.0. Ini ditambahkan untuk menyediakan akses jauh PowerShell berdasarkan Secure Shell (SSH). Baik SSH dan 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 putuskan/sambungkan kembali saat ini tidak didukung. Untuk informasi selengkapnya tentang cara menyiapkan akses jauh PowerShell SSH, lihat PowerShell Remoting Melalui SSH.

Sebelum PowerShell 7.1, remoting 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.