New-PSSession
Membuat koneksi persisten ke komputer lokal atau jarak jauh.
Sintaks
ComputerName (Default)
New-PSSession
[[-ComputerName] <String[]>]
[-Credential <PSCredential>]
[-Name <String[]>]
[-EnableNetworkAccess]
[-ConfigurationName <String>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-ThrottleLimit <Int32>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Uri
New-PSSession
[-ConnectionUri] <Uri[]>
[-Credential <PSCredential>]
[-Name <String[]>]
[-EnableNetworkAccess]
[-ConfigurationName <String>]
[-ThrottleLimit <Int32>]
[-AllowRedirection]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
VMId
New-PSSession
[-VMId] <Guid[]>
-Credential <PSCredential>
[-Name <String[]>]
[-ConfigurationName <String>]
[-ThrottleLimit <Int32>]
[<CommonParameters>]
VMName
New-PSSession
-Credential <PSCredential>
-VMName <String[]>
[-Name <String[]>]
[-ConfigurationName <String>]
[-ThrottleLimit <Int32>]
[<CommonParameters>]
Session
New-PSSession
[[-Session] <PSSession[]>]
[-Name <String[]>]
[-EnableNetworkAccess]
[-ThrottleLimit <Int32>]
[<CommonParameters>]
ContainerId
New-PSSession
-ContainerId <String[]>
[-Name <String[]>]
[-ConfigurationName <String>]
[-RunAsAdministrator]
[-ThrottleLimit <Int32>]
[<CommonParameters>]
UseWindowsPowerShellParameterSet
New-PSSession
[-Name <String[]>]
[-UseWindowsPowerShell]
[<CommonParameters>]
SSHHost
New-PSSession
[-HostName] <String[]>
[-Name <String[]>]
[-Port <Int32>]
[-UserName <String>]
[-KeyFilePath <String>]
[-Subsystem <String>]
[-ConnectingTimeout <Int32>]
[-SSHTransport]
[-Options <Hashtable>]
[<CommonParameters>]
SSHHostHashParam
New-PSSession
-SSHConnection <Hashtable[]>
[-Name <String[]>]
[<CommonParameters>]
Deskripsi
Cmdlet New-PSSession membuat sesi PowerShell (PSSession) di komputer lokal atau jarak jauh. Saat Anda membuat PSSession, PowerShell membuat koneksi persisten ke komputer jarak jauh.
Gunakan PSSession Invoke-Command. Untuk menggunakan PSSession untuk berinteraksi langsung dengan komputer jarak jauh, gunakan cmdlet Enter-PSSession. Untuk informasi selengkapnya, lihat about_PSSessions.
Anda dapat menjalankan perintah di komputer jarak jauh tanpa membuat PSSession dengan parameter ComputerNameEnter-PSSession atau Invoke-Command. Saat Anda menggunakan parameter ComputerName, PowerShell membuat koneksi sementara yang digunakan untuk perintah lalu ditutup.
Dimulai dengan PowerShell 6.0 Anda dapat menggunakan Secure Shell (SSH) untuk membuat koneksi ke dan membuat sesi di komputer jarak jauh, jika SSH tersedia di komputer lokal dan komputer jarak jauh dikonfigurasi dengan titik akhir PowerShell SSH. Manfaat dari sesi jarak jauh PowerShell berbasis SSH adalah dapat bekerja di beberapa platform (Windows, Linux, macOS). Untuk sesi berbasis SSH, Anda menggunakan parameter HostName atau SSHConnection 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.
Nota
Saat menggunakan jarak jauh WSMan dari klien Linux atau macOS dengan titik akhir HTTPS di mana sertifikat server tidak tepercaya (misalnya, sertifikat yang ditandatangani sendiri). Anda harus menyediakan PSSessionOption yang menyertakan nilai SkipCACheck dan SkipCNCheck diatur ke $true agar berhasil membuat koneksi. Lakukan ini hanya jika Anda berada di lingkungan di mana Anda dapat yakin dengan sertifikat server dan koneksi jaringan ke sistem target.
Contoh
Contoh 1: Membuat sesi di komputer lokal
$s = New-PSSession
Perintah ini membuat PSSession baru di komputer lokal dan menyimpan PSSession dalam variabel $s.
Anda sekarang dapat menggunakan PSSession
Contoh 2: Membuat sesi di komputer jarak jauh
$Server01 = New-PSSession -ComputerName Server01
Perintah ini membuat PSSession baru di komputer Server01 dan menyimpannya dalam variabel $Server01.
Saat membuat beberapa objek PSSession, tetapkan ke variabel dengan nama yang berguna. Ini akan membantu Anda mengelola objek PSSession dalam perintah berikutnya.
Contoh 3: Membuat sesi di beberapa komputer
$s1, $s2, $s3 = New-PSSession -ComputerName Server01, Server02, Server03
Perintah ini membuat tiga objek PSSession
Perintah menggunakan operator penugasan (=) untuk menetapkan objek PSSession baru ke variabel: $s1, $s2, $s3. Ini menetapkan PSSession Server01 ke $s1, Server02 PSSession ke $s2, dan PSSession Server03 ke $s3.
Saat Anda menetapkan beberapa objek ke serangkaian variabel, PowerShell menetapkan setiap objek ke variabel dalam seri masing-masing. Jika ada lebih banyak objek daripada variabel, semua objek yang tersisa ditetapkan ke variabel terakhir. Jika ada lebih banyak variabel daripada objek, variabel yang tersisa kosong ($null).
Contoh 4: Membuat sesi dengan port tertentu
New-PSSession -ComputerName Server01 -Port 8081 -UseSSL -ConfigurationName E12
Perintah ini membuat baru PSSession di komputer Server01 yang tersambung ke port server 8081 dan menggunakan protokol SSL.
PSSession baru menggunakan konfigurasi sesi alternatif yang disebut E12.
Sebelum mengatur port, Anda harus mengonfigurasi pendengar WinRM di komputer jarak jauh untuk mendengarkan port 8081. Untuk informasi selengkapnya, lihat deskripsi parameter Port
Contoh 5: Membuat sesi berdasarkan sesi yang sudah ada
New-PSSession -Session $s -Credential Domain01\User01
Perintah ini membuat PSSession
Perintah menggunakan parameter SesiNew-PSSession untuk menentukan PSSession disimpan dalam variabel $s. Ini menggunakan kredensial pengguna Domain1\Admin01 untuk menyelesaikan perintah.
Contoh 6: Membuat sesi dengan cakupan global di domain yang berbeda
$Global:s = New-PSSession -ComputerName Server1.Domain44.Corpnet.Fabrikam.com -Credential Domain01\Admin01
Contoh ini menunjukkan cara membuat PSSession
Secara default, objek PSSession yang dibuat di baris perintah dibuat dengan cakupan lokal dan objek PSSession yang dibuat dalam skrip memiliki cakupan skrip.
Untuk membuat PSSession $s dilemparkan ke cakupan global.
Perintah menggunakan parameter
Contoh 7: Membuat sesi untuk banyak komputer
$rs = Get-Content C:\Test\Servers.txt | New-PSSession -ThrottleLimit 50
Perintah ini membuat PSSession pada masing-masing dari 200 komputer yang tercantum dalam file Servers.txt dan menyimpan PSSession yang dihasilkan dalam variabel $rs. Objek PSSession memiliki batas pembatasan 50.
Anda dapat menggunakan format perintah ini saat nama komputer disimpan dalam database, spreadsheet, file teks, atau format konvertibel teks lainnya.
Contoh 8: Membuat sesi dengan menggunakan URI
$s = New-PSSession -Uri http://Server01:91/NewSession -Credential Domain01\User01
Perintah ini membuat PSSession di komputer Server01 dan menyimpannya dalam variabel $s. Ini menggunakan parameter URI
Contoh 9: Menjalankan pekerjaan latar belakang dalam serangkaian sesi
$s = New-PSSession -ComputerName (Get-Content Servers.txt) -Credential Domain01\Admin01 -ThrottleLimit 16
Invoke-Command -Session $s -ScriptBlock {Get-Process powershell} -AsJob
Perintah ini membuat sekumpulan objek PSSession
Perintah pertama membuat PSSession baru di setiap komputer yang tercantum dalam file Servers.txt. Ini menggunakan cmdlet New-PSSession untuk membuat PSSession. Nilai parameter ComputerName adalah perintah yang menggunakan cmdlet Get-Content untuk mendapatkan daftar nama komputer file Servers.txt.
Perintah ini menggunakan parameter Kredensial untuk membuat objek PSSession yang memiliki izin administrator domain, dan menggunakan parameter ThrottleLimit untuk membatasi perintah untuk 16 koneksi bersamaan. Perintah menyimpan objek PSSession dalam variabel $s.
Perintah kedua menggunakan parameter AsJob dari cmdlet Invoke-Command untuk memulai pekerjaan latar belakang yang menjalankan perintah Get-Process powershell di setiap objek PSSession di $s.
Untuk informasi selengkapnya tentang pekerjaan latar belakang PowerShell, lihat about_Jobs dan about_Remote_Jobs.
Contoh 10: Membuat sesi untuk komputer dengan menggunakan URI-nya
New-PSSession -ConnectionURI https://management.exchangelabs.com/Management
Perintah ini membuat objek PSSession
Contoh 11: Buat opsi sesi
$so = New-PSSessionOption -SkipCACheck
New-PSSession -ConnectionUri https://management.exchangelabs.com/Management -SessionOption $so -Credential Server01\Admin01
Contoh ini menunjukkan cara membuat objek opsi sesi dan menggunakan parameter SessionOption
Perintah pertama menggunakan cmdlet New-PSSessionOption untuk membuat opsi sesi. Ini menyimpan objek SessionOption yang dihasilkan dalam variabel $so.
Perintah kedua menggunakan opsi dalam sesi baru. Perintah menggunakan cmdlet New-PSSession untuk membuat sesi baru. Nilai parameter SessionOption adalah objek SessionOption dalam variabel $so.
Contoh 12: Membuat sesi menggunakan SSH
New-PSSession -HostName UserA@LinuxServer01
Contoh ini menunjukkan cara membuat PSSession baru menggunakan Secure Shell (SSH). Jika SSH dikonfigurasi pada komputer jarak jauh untuk meminta kata sandi, Maka Anda akan mendapatkan permintaan kata sandi. Jika tidak, Anda harus menggunakan autentikasi pengguna berbasis kunci SSH.
Contoh 13: Membuat sesi menggunakan SSH dan menentukan port dan kunci autentikasi pengguna
New-PSSession -HostName UserA@LinuxServer01:22 -KeyFilePath C:\<path>\userAKey_rsa
Contoh ini menunjukkan cara membuat PSSession menggunakan Secure Shell (SSH). Ini menggunakan parameter Port untuk menentukan port yang akan digunakan dan parameter KeyFilePath untuk menentukan kunci RSA yang digunakan untuk mengidentifikasi dan mengautentikasi pengguna di komputer jarak jauh.
Contoh 14: Membuat beberapa sesi menggunakan SSH
$sshConnections = @(
@{
HostName = 'WinServer1'
UserName = 'domain\userA'
KeyFilePath = 'C:\Users\UserA\id_rsa'
}
@{
HostName = 'UserB@LinuxServer5'
KeyFilePath = 'C:\UserB\<path>\id_rsa'
}
)
New-PSSession -SSHConnection $sshConnections
Contoh ini menunjukkan cara membuat beberapa sesi menggunakan Secure Shell (SSH) dan kumpulan parameter SSHConnection. Parameter SSHConnection mengambil array tabel hash yang berisi informasi koneksi untuk setiap sesi. Perhatikan bahwa contoh ini mengharuskan komputer jarak jauh target memiliki SSH yang dikonfigurasi untuk mendukung autentikasi pengguna berbasis kunci.
Contoh 15: Membuat sesi baru menggunakan opsi SSH
$options = @{
Port=22
User = 'UserB'
Host = 'LinuxServer5'
}
New-PSSession -KeyFilePath '/Users/UserB/id_rsa' -Options $options
Contoh ini menunjukkan cara membuat sesi berbasis SSH baru komputer berbasis Linux jarak jauh menggunakan opsi SSH. Parameter Opsi mengambil hashtable nilai yang diteruskan sebagai opsi ke perintah ssh yang mendasar membuat koneksi ke sistem jarak jauh.
Parameter
-AllowRedirection
Menunjukkan bahwa cmdlet ini memungkinkan pengalihan koneksi ini ke Pengidentifikasi Sumber Daya Seragam (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 mengaktifkannya untuk 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 variabel preferensi $PSSessionOption. Nilai defaultnya adalah 5.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ApplicationName
Menentukan segmen nama aplikasi dari URI koneksi. Gunakan parameter ini untuk menentukan nama aplikasi saat Anda tidak menggunakan parameter
Nilai default adalah nilai variabel preferensi $PSSessionApplicationName 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 URLPrefix properti listener di komputer jarak jauh.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Authentication
Menentukan mekanisme yang digunakan untuk mengautentikasi kredensial pengguna. Nilai yang dapat diterima untuk parameter ini adalah:
DefaultBasicCredsspDigestKerberosNegotiateNegotiateWithImplicitCredential
Nilai defaultnya adalah Default.
Untuk informasi selengkapnya tentang nilai parameter ini, lihat AuthenticationMechanism Enumeration.
Caution
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.
Properti parameter
| Jenis: | AuthenticationMechanism |
| Nilai default: | None |
| Nilai yang diterima: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-CertificateThumbprint
Menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk melakukan tindakan ini. Masukkan sidik jari 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 perintah Get-Item atau Get-ChildItem di drive Cert: PowerShell.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ComputerName
Menentukan sekumpulan nama-nama komputer. Cmdlet ini membuat koneksi persisten (PSSession) ke komputer yang ditentukan. Jika Anda memasukkan beberapa nama komputer, New-PSSession membuat beberapa objek PSSession, satu untuk setiap komputer. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat dari satu atau beberapa komputer jarak jauh. Untuk menentukan komputer lokal, ketik nama komputer, localhost, atau titik (.). Ketika komputer berada di domain yang berbeda dari pengguna, nama domain yang sepenuhnya memenuhi syarat diperlukan.
Anda juga dapat menyalurkan nama komputer, dalam tanda kutip, ke New-PSSession.
Untuk menggunakan alamat IP dalam nilai parameter
Untuk menyertakan komputer lokal dalam nilai parameter ComputerName, mulai Windows PowerShell dengan menggunakan opsi Jalankan sebagai administrator.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cn |
Set parameter
ComputerName
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-ConfigurationName
Menentukan konfigurasi sesi yang digunakan untuk PSSessionbaru.
Masukkan nama konfigurasi atau URI sumber daya yang sepenuhnya memenuhi syarat untuk konfigurasi sesi. Jika Anda hanya menentukan nama konfigurasi, URI skema berikut akan ditambahkan sebelumnya: 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 variabel preferensi $PSSessionConfigurationName di komputer lokal. Jika variabel preferensi ini tidak diatur, defaultnya adalah Microsoft.PowerShell. Untuk informasi selengkapnya, lihat about_Preference_Variables.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
VMId
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
VMName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
ContainerId
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | 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
Properti parameter
| Jenis: | Int32 |
| Nilai default: | unlimited |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ConnectionUri
Menentukan URI yang menentukan titik akhir koneksi untuk sesi. URI harus berkualifikasi lengkap. Format string ini adalah sebagai berikut:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Nilai defaultnya adalah sebagai berikut:
http://localhost:5985/WSMAN
Jika Anda tidak menentukan
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 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.
Properti parameter
| Jenis: | Uri[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | URI, CU |
Set parameter
Uri
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-ContainerId
Menunjukkan array identifikasi kontainer. Cmdlet ini memulai sesi interaktif dengan setiap kontainer yang ditentukan. Gunakan perintah docker ps untuk mendapatkan daftar ID kontainer. Untuk informasi selengkapnya, lihat bantuan untuk perintah docker ps.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ContainerId
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | 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 cmdlet Get-Credential. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.
Kredensial disimpan dalam objek PSCredential
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | Current user |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
VMId
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
VMName
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | 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 .), localhost, atau nama komputer lokal.
Secara default, cmdlet ini membuat sesi loopback dengan menggunakan token jaringan, yang mungkin tidak memberikan izin yang memadai untuk mengautentikasi ke komputer jarak jauh.
Parameter
Anda juga dapat mengaktifkan akses jarak jauh dalam sesi loopback dengan menggunakan nilai CredSSP parameter Autentikasi, yang mendelegasikan kredensial sesi ke komputer lain.
Untuk melindungi komputer dari akses berbahaya, sesi loopback yang terputus yang memiliki token interaktif, yang merupakan yang dibuat dengan menggunakan parameter EnableNetworkAccess, hanya dapat disambungkan kembali dari komputer tempat sesi dibuat. Sesi terputus yang menggunakan autentikasi CredSSP dapat disambungkan kembali dari komputer lain. Untuk informasi selengkapnya, lihat Disconnect-PSSession .
Parameter ini diperkenalkan di PowerShell 3.0.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Session
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-HostName
Menentukan array 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 diperkenalkan di PowerShell 6.0.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHost
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | IdentityFilePath |
Set parameter
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Name
Menentukan nama yang mudah diingat untukPSSession
Anda dapat menggunakan nama untuk merujuk ke PSSession saat Anda menggunakan cmdlet lain, seperti Get-PSSession dan Enter-PSSession. Nama ini tidak diharuskan unik untuk komputer atau sesi saat ini.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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 opsi hashtable. Misalnya, menggunakan parameter Port menggantikan pasangan nilai kunci Port yang diteruskan dalam opsi hashtable.
Properti parameter
| Jenis: | Hashtable |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Port
Menentukan port jaringan pada komputer jarak jauh yang digunakan untuk sambungan ini. Untuk tersambung ke komputer jarak jauh, komputer jarak jauh harus mendengarkan porta yang digunakan koneksi. Port default 5985, yang merupakan port WinRM untuk HTTP, dan 5986, yang merupakan port WinRM untuk HTTPS.
Sebelum menggunakan port lain, 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=HTTPwinrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Jangan gunakan parameter Port
Properti parameter
| Jenis: | Int32 |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-RunAsAdministrator
Menunjukkan bahwa PSSession berjalan sebagai administrator.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ContainerId
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Session
Menentukan array objek
Masukkan variabel yang berisi objek PSSession atau perintah yang membuat atau mendapatkan objek PSSession, seperti perintah New-PSSession atau Get-PSSession.
Objek PSSession
Properti parameter
| Jenis: | |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
Session
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-SessionOption
Menentukan opsi tingkat lanjut untuk sesi tersebut. Masukkan objek SessionOption, seperti yang Anda buat dengan menggunakan cmdlet New-PSSessionOption, atau tabel hash di mana kuncinya adalah nama opsi sesi dan nilainya adalah nilai opsi sesi.
Nilai default untuk opsi ditentukan oleh nilai variabel preferensi $PSSessionOption, 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 variabel preferensi $PSSessionOption 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.
Properti parameter
| Jenis: | PSSessionOption |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-SSHConnection
Parameter ini mengambil array hashtable di mana setiap hashtable berisi satu atau beberapa parameter koneksi yang diperlukan untuk membuat koneksi Secure Shell (SSH) (HostName, Port, UserName, KeyFilePath).
Parameter koneksi yang dapat di-hash sama dengan yang didefinisikan untuk kumpulan parameter SSHHost.
Parameter SSHConnection berguna untuk membuat beberapa sesi di mana setiap sesi memerlukan informasi koneksi yang berbeda.
Parameter ini diperkenalkan di PowerShell 6.0.
Properti parameter
| Jenis: | |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHostHashParam
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Nilai yang diterima: | true |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Subsystem
Menentukan subsistem SSH yang digunakan untuk PSSessionbaru.
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.
Properti parameter
| Jenis: | String |
| Nilai default: | powershell |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-ThrottleLimit
Menentukan jumlah maksimum koneksi bersamaan yang dapat dibuat untuk menjalankan perintah ini.
Jika Anda menghilangkan parameter ini atau memasukkan nilai 0 (nol), nilai default, 32, digunakan.
Batas pembatasan hanya berlaku untuk perintah saat ini, bukan ke sesi atau ke komputer.
Properti parameter
| Jenis: | Int32 |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Uri
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
VMId
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
VMName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
Session
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
ContainerId
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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, Maka Anda akan dimintai kata sandi pengguna.
Jika SSH dikonfigurasi untuk autentikasi pengguna berbasis kunci, jalur file kunci dapat disediakan melalui parameter KeyFilePath dan Anda tidak akan dimintai kata sandi. Perhatikan bahwa jika file kunci pengguna klien terletak di lokasi SSH yang diketahui, parameter KeyFilePath tidak diperlukan untuk autentikasi berbasis kunci, dan autentikasi pengguna 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 log on saat ini digunakan untuk koneksi.
Parameter ini diperkenalkan di PowerShell 6.0.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
SSHHost
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-UseSSL
Menunjukkan bahwa cmdlet ini menggunakan protokol SSL untuk membuat koneksi ke komputer jarak jauh. Secara default, SSL tidak digunakan.
WS-Management mengenkripsi semua konten PowerShell yang dikirimkan melalui jaringan. Parameter
Jika Anda menggunakan parameter ini, tetapi SSL tidak tersedia pada port yang digunakan untuk perintah , perintah gagal.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ComputerName
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-UseWindowsPowerShell
Membuat koneksi jarak jauh ke runspace Windows PowerShell baru pada sistem lokal.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
UseWindowsPowerShellParameterSet
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-VMId
Menentukan array ID komputer virtual. Cmdlet ini memulai sesi interaktif PowerShell Direct dengan setiap komputer virtual yang ditentukan. Untuk informasi selengkapnya, lihat otomatisasi dan manajemen Komputer Virtual menggunakan PowerShell.
Gunakan Get-VM untuk melihat komputer virtual yang tersedia di host Hyper-V Anda.
Properti parameter
| Jenis: | Guid[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | VMGuid |
Set parameter
VMId
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-VMName
Menentukan array nama mesin virtual. Cmdlet ini memulai sesi interaktif PowerShell Direct dengan setiap komputer virtual yang ditentukan. Untuk informasi selengkapnya, lihat otomatisasi dan manajemen Komputer Virtual menggunakan PowerShell.
Gunakan Get-VM untuk melihat komputer virtual yang tersedia di host Hyper-V Anda.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
VMName
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Anda dapat menyalurkan string ke cmdlet ini.
System.URI
Anda dapat menyalurkan URI ke cmdlet ini.
PSSession
Anda dapat menyalurkan objek sesi ke cmdlet ini.
Output
PSSession
Catatan
PowerShell menyertakan alias berikut untuk New-PSSession:
Semua platform:
nsn
Cmdlet ini menggunakan infrastruktur jarak jauh PowerShell. Untuk menggunakan cmdlet ini, komputer lokal dan komputer jarak jauh apa pun harus dikonfigurasi untuk jarak jauh PowerShell. Untuk informasi lebih lanjut, lihat about_Remote_Requirements.
Untuk membuat PSSession di komputer lokal, mulai PowerShell dengan opsi Jalankan sebagai administrator.
Setelah selesai dengan PSSession, gunakan cmdlet
Remove-PSSessionuntuk menghapus PSSession dan melepaskan sumber dayanya.Kumpulan parameter HostName dan SSHConnection disertakan dimulai dengan PowerShell 6.0. Mereka ditambahkan untuk menyediakan Remoting PowerShell berdasarkan Secure Shell (SSH). Baik SSH maupun PowerShell didukung pada beberapa platform (Windows, Linux, macOS) dan PowerShell remoting akan bekerja melalui platform ini di mana PowerShell dan SSH diinstal dan dikonfigurasi. Ini terpisah dari jarak jauh khusus Windows sebelumnya 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 tidak didukung. Untuk informasi selengkapnya tentang cara menyiapkan remoting PowerShell SSH, lihat PowerShell Remoting Over SSH.
executable ssh mendapatkan data konfigurasi dari sumber berikut dalam urutan berikut:
- opsi baris perintah
- file konfigurasi pengguna (~/.ssh/config)
- file konfigurasi di seluruh sistem (/etc/ssh/ssh_config)
Parameter cmdlet berikut dipetakan ke dalam parameter dan opsi ssh:
| Parameter cmdlet | parameter ssh | opsi -o ssh 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 opsi hashtable. Untuk informasi selengkapnya tentang file ssh_config, lihat ssh_config(5).