about_Remote_Troubleshooting

Deskripsi singkat

Menjelaskan cara memecahkan masalah operasi jarak jauh di PowerShell.

Deskripsi panjang

Sebelum menggunakan powerShell jarak jauh, lihat about_Remote dan about_Remote_Requirements untuk panduan tentang konfigurasi dan penggunaan dasar.

Anda harus memiliki hak administratif untuk melihat atau mengubah setelan untuk komputer lokal di dalam WSMan: kandar. Ini termasuk perubahan pada konfigurasi sesi, host tepercaya, port, atau pendengar.

Anda harus menjalankan PowerShell dengan opsi Jalankan sebagai administrator .

Cara menjalankan sebagai administrator

Untuk kesalahan:

KESALAHAN: Akses ditolak. Anda perlu menjalankan cmdlet ini dari proses yang ditingkatkan.

Untuk memulai Windows PowerShell dengan opsi Jalankan sebagai administrator , klik kanan ikon PowerShell di Menu Mulai dan pilih Jalankan sebagai administrator.

Cara mengaktifkan jarak jauh

Untuk kesalahan:

  • KESALAHAN: AKSES DITOLAK
  • KESALAHAN: Koneksi ke host jarak jauh ditolak. Verifikasi bahwa layanan WS-Management berjalan pada host jarak jauh dan dikonfigurasi untuk mendengarkan permintaan pada port dan URL HTTP yang benar.

Untuk menerima perintah jarak jauh, remoting PowerShell harus diaktifkan di komputer. Jarak jauh Windows PowerShell diaktifkan secara default pada Windows Server 2012 dan rilis Windows Server yang lebih baru. Anda dapat menjalankan Enable-PSRemoting untuk mengaktifkan kembali jarak jauh jika dinonaktifkan. Untuk informasi selengkapnya, lihat Enable-PSRemoting.

Cara mengaktifkan jarak jauh di perusahaan

Untuk kesalahan:

  • KESALAHAN: AKSES DITOLAK
  • KESALAHAN: Koneksi ke host jarak jauh ditolak. Verifikasi bahwa layanan WS-Management berjalan pada host jarak jauh dan dikonfigurasi untuk mendengarkan permintaan pada port dan URL HTTP yang benar.

Untuk mengaktifkan satu komputer untuk menerima perintah PowerShell jarak jauh dan menerima koneksi, gunakan Enable-PSRemoting cmdlet .

Untuk mengaktifkan jarak jauh untuk beberapa komputer di perusahaan, Anda dapat menggunakan opsi berskala berikut.

  • Aktifkan kebijakan Izinkan konfigurasi otomatis grup listener untuk mengonfigurasi listener untuk jarak jauh.
  • Konfigurasikan dan aktifkan kebijakan grup Windows Firewall: Izinkan Pengecualian Port Lokal.
  • Atur jenis startup layanan WinRM ke Automatic dan mulai layanan.

Cara mengaktifkan pendengar dengan menggunakan kebijakan grup

Untuk kesalahan:

  • KESALAHAN: AKSES DITOLAK
  • KESALAHAN: Koneksi ke host jarak jauh ditolak. Verifikasi bahwa layanan WS-Management berjalan pada host jarak jauh dan dikonfigurasi untuk mendengarkan permintaan pada port dan URL HTTP yang benar.

Aktifkan kebijakan Izinkan konfigurasi otomatis listener untuk mengonfigurasi listener untuk semua komputer di domain.

Kebijakan ini ditemukan di jalur Kebijakan Grup berikut:

Computer Configuration\Administrative Templates\Windows Components
    \Windows Remote Management (WinRM)\WinRM service

Aktifkan kebijakan dan tentukan filter IPv4 dan IPv6. Kartubebas (*) diizinkan.

Cara mengaktifkan jarak jauh pada jaringan publik

Enable-PSRemoting mengembalikan kesalahan ini ketika jaringan lokal bersifat publik dan parameter SkipNetworkProfileCheck tidak digunakan dalam perintah.

KESALAHAN: Tidak dapat memeriksa status firewall

Pada versi server Windows, Enable-PSRemoting berhasil pada semua profil jaringan. Ini membuat aturan firewall yang memungkinkan akses jarak jauh ke jaringan privat dan domain ("Rumah" dan "Kerja"). Untuk jaringan publik, ini membuat aturan firewall yang memungkinkan akses jarak jauh dari subnet lokal yang sama.

Pada versi klien Windows, Enable-PSRemoting berhasil pada jaringan privat dan domain. Secara default, ini gagal di jaringan publik, tetapi jika Anda menggunakan parameter SkipNetworkProfileCheck , Enable-PSRemoting berhasil dan membuat aturan firewall yang memungkinkan lalu lintas dari subnet lokal yang sama.

Catatan

Di Windows PowerShell 2.0, pada komputer yang menjalankan versi server Windows, Enable-PSRemoting membuat aturan firewall yang memungkinkan akses jarak jauh pada jaringan privat, domain, dan publik. Pada komputer yang menjalankan versi klien Windows, Enable-PSRemoting buat aturan firewall yang mengizinkan akses jarak jauh hanya pada jaringan privat dan domain.

Untuk menghapus pembatasan subnet lokal pada jaringan publik dan mengizinkan akses jarak jauh dari lokasi mana pun, jalankan perintah berikut:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Set-NetFirewallRule Cmdlet diekspor oleh modul NetSecurity.

Catatan

Nama aturan firewall bisa berbeda untuk versi Windows yang berbeda. Gunakan Get-NetFirewallRule untuk melihat daftar aturan. Sebelum mengaktifkan aturan firewall, lihat pengaturan keamanan dalam aturan untuk memverifikasi bahwa konfigurasi sesuai untuk lingkungan Anda.

Cara mengaktifkan pengecualian firewall dengan menggunakan kebijakan grup

Untuk kesalahan:

  • KESALAHAN: AKSES DITOLAK
  • KESALAHAN: Koneksi ke host jarak jauh ditolak. Verifikasi bahwa layanan WS-Management berjalan pada host jarak jauh dan dikonfigurasi untuk mendengarkan permintaan pada port dan URL HTTP yang benar.

Gunakan kebijakan Windows Firewall: Izinkan pengecualian port lokal untuk mengaktifkan pengecualian firewall di semua komputer dalam domain.

Kebijakan ini terletak di jalur Kebijakan Grup berikut:

Computer Configuration\Administrative Templates\Network
    \Network Connections\Windows Firewall\Domain Profile

Kebijakan ini memungkinkan anggota grup Administrator membuat pengecualian firewall untuk layanan Windows Remote Management (WinRM).

Jika konfigurasi kebijakan salah, Anda mungkin menerima kesalahan berikut:

Klien tidak dapat tersambung ke tujuan yang ditentukan dalam permintaan. Verifikasi bahwa layanan di tujuan sedang berjalan dan menerima permintaan.

Kesalahan konfigurasi dalam kebijakan menghasilkan nilai kosong untuk properti ListeningOn . Gunakan perintah berikut untuk memeriksa nilai.

Get-WSManInstance winrm/config/listener -Enumerate
cfg                   : http://schemas.microsoft.com/wbem/wsman/1/config/listener
xsi                   : http://www.w3.org/2001/XMLSchema-instance
Source                : GPO
lang                  : en-US
Address               : *
Transport             : HTTP
Port                  : 5985
Hostname              :
Enabled               : true
URLPrefix             : wsman
CertificateThumbprint :
ListeningOn           : {}

Cara mengatur jenis startup layanan WinRM

Untuk kesalahan:

KESALAHAN: AKSES DITOLAK

PowerShell jarak jauh tergantung pada layanan Windows Remote Management (WinRM). Layanan harus berjalan untuk mendukung perintah jarak jauh.

Pada versi server Windows, jenis startup layanan WinRM adalah Automatic. Namun, pada versi klien Windows, layanan WinRM dinonaktifkan secara default.

Gunakan contoh berikut untuk mengatur jenis startup layanan WinRM ke Automatic dan memulai layanan. Parameter ComputerName menerima beberapa nilai.

$invokeCimMethodSplat = @{
    ComputerName = 'Server01', 'Server02'
    Query = 'Select * From Win32_Service Where Name = "WinRM"'
    MethodName = 'ChangeStartMode'
    Arguments = @{StartMode  = 'Automatic'}
}
Invoke-CimMethod @invokeCimMethodSplat

Cara membuat ulang konfigurasi sesi default

Untuk kesalahan:

KESALAHAN: AKSES DITOLAK

Saat Anda menggunakan Enable-PSRemoting, ini membuat konfigurasi sesi default di komputer lokal. Pengguna jarak jauh menggunakan konfigurasi sesi ini setiap kali perintah jarak jauh tidak menyertakan parameter ConfigurationName .

Jika konfigurasi default di komputer tidak terdaftar atau dihapus, gunakan Enable-PSRemoting cmdlet untuk membuatnya kembali. Anda dapat menggunakan cmdlet ini berulang kali. Ini tidak menghasilkan kesalahan jika fitur sudah dikonfigurasi.

Jika Anda mengubah konfigurasi sesi default dan ingin memulihkan konfigurasi sesi asli, Anda dapat menghapus dan membuat ulang konfigurasi.

Unregister-PSSessionConfiguration Gunakan cmdlet untuk menghapus konfigurasi sesi yang diubah. Gunakan Enable-PSRemoting untuk memulihkan konfigurasi sesi asli. Enable-PSRemoting tidak mengubah konfigurasi sesi yang ada.

Catatan

Saat Enable-PSRemoting memulihkan konfigurasi sesi default, konfigurasi tersebut tidak membuat deskriptor keamanan eksplisit untuk konfigurasi. Sebagai gantinya, konfigurasi mewarisi deskriptor keamanan RootSDDL, yang aman secara default.

Untuk melihat deskriptor keamanan RootSDDL , ketik:

Get-Item wsman:\localhost\Service\RootSDDL

Untuk mengubah RootSDDL, gunakan Set-Item cmdlet di WSMan: drive. Untuk mengubah pendeskripsi keamanan konfigurasi sesi, gunakan Set-PSSessionConfiguration cmdlet dengan parameter SecurityDescriptorSDDL atau ShowSecurityDescriptorUI .

Untuk informasi selengkapnya tentang WSMan: drive, lihat about_WSMan_Provider.

Cara memberikan kredensial administrator

Untuk kesalahan:

KESALAHAN: AKSES DITOLAK

Anda harus menjadi anggota grup Administrator yang tersambung ke titik akhir sesi jarak jauh default. Anda dapat menggunakan parameter Kredensial cmdlet New-PSSession, Enter-PSSession atau Invoke-Command untuk menyambungkan ke titik akhir jarak jauh menggunakan kredensial alternatif.

Contoh berikut menunjukkan cara memberikan kredensial untuk pengguna admin.

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

Untuk informasi selengkapnya tentang parameter Kredensial, lihat bantuan untuk New-PSSession, Enter-PSSession, atau Invoke-Command.

Cara mengaktifkan jarak jauh untuk pengguna non-administratif

Untuk kesalahan:

KESALAHAN: AKSES DITOLAK

Secara default, hanya anggota grup Administrator di komputer yang memiliki izin untuk menggunakan konfigurasi sesi default. Oleh karena itu, hanya anggota grup Administrator yang dapat tersambung ke komputer dari jarak jauh.

Untuk mengizinkan pengguna lain tersambung ke komputer lokal, berikan pengguna izin Jalankan ke konfigurasi sesi default di komputer lokal.

Contoh berikut membuka lembar properti yang memungkinkan Anda mengubah deskriptor keamanan konfigurasi sesi default Microsoft.PowerShell di komputer lokal.

Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

Untuk informasi selengkapnya, lihat about_Session_Configurations.

Cara mengaktifkan jarak jauh untuk administrator di domain lain

Untuk kesalahan:

KESALAHAN: AKSES DITOLAK

Ketika pengguna di domain lain adalah anggota grup Administrator di komputer lokal, pengguna tidak dapat tersambung ke komputer lokal dari jarak jauh dengan hak istimewa Administrator. Secara default, koneksi jarak jauh dari domain lain hanya berjalan dengan token hak istimewa pengguna standar.

Anda dapat menggunakan entri registri LocalAccountTokenFilterPolicy untuk mengubah perilaku default dan mengizinkan pengguna jarak jauh yang merupakan anggota grup Administrator untuk dijalankan dengan hak istimewa Administrator.

Perhatian

Entri LocalAccountTokenFilterPolicy menonaktifkan pembatasan jarak jauh kontrol akun pengguna (UAC) untuk semua pengguna dari semua komputer yang terpengaruh. Pertimbangkan implikasi pengaturan ini dengan hati-hati sebelum mengubah kebijakan.

Gunakan perintah berikut untuk mengatur nilai registri LocalAccountTokenFilterPolicy ke 1.

$newItemPropertySplat = @{
  Name = 'LocalAccountTokenFilterPolicy'
  Path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
  PropertyType = 'DWord'
  Value = 1
}
New-ItemProperty @newItemPropertySplat

Cara menggunakan alamat IP dalam perintah jarak jauh

Untuk kesalahan:

KESALAHAN: Klien WinRM tidak dapat memproses permintaan. Jika skema autentikasi berbeda dengan Kerberos, atau jika komputer klien tidak bergabung ke domain, maka transportasi HTTPS harus digunakan atau komputer tujuan harus ditambahkan ke pengaturan konfigurasi TrustedHosts.

Parameter ComputerName dari New-PSSessioncmdlet , Enter-PSSession dan Invoke-Command menerima alamat IP sebagai nilai yang valid. Namun, karena autentikasi Kerberos tidak mendukung alamat IP. Saat Anda menentukan alamat IP, autentikasi NTLM digunakan.

Untuk mendukung autentikasi NTLM, Anda harus memenuhi persyaratan berikut:

  • Konfigurasikan komputer untuk transportasi HTTPS atau tambahkan alamat IP komputer jarak jauh ke daftar TrustedHosts di komputer lokal.
  • Gunakan parameter Kredensial di semua perintah jarak jauh. Ini diperlukan bahkan ketika Anda terhubung sebagai pengguna saat ini.

Cara menyambungkan dari jarak jauh dari komputer berbasis grup kerja

Untuk kesalahan

KESALAHAN: Klien WinRM tidak dapat memproses permintaan. Jika skema autentikasi berbeda dengan Kerberos, atau jika komputer klien tidak bergabung ke domain, maka transportasi HTTPS harus digunakan atau komputer tujuan harus ditambahkan ke pengaturan konfigurasi TrustedHosts.

Saat komputer lokal tidak berada di domain, Anda harus memenuhi persyaratan berikut:

  • Konfigurasikan komputer untuk transportasi HTTPS atau tambahkan alamat IP komputer jarak jauh ke daftar TrustedHosts di komputer lokal.
  • Verifikasi bahwa kata sandi diatur pada komputer berbasis grup kerja. Jika kata sandi tidak diatur atau nilai kata sandi kosong, Anda tidak dapat menjalankan perintah jarak jauh.
  • Gunakan parameter Kredensial di semua perintah jarak jauh. Ini diperlukan bahkan ketika Anda terhubung sebagai pengguna saat ini.

Cara menambahkan komputer ke daftar host tepercaya

Item TrustedHosts dapat berisi daftar nama komputer, alamat IP, dan nama domain yang sepenuhnya memenuhi syarat yang dipisahkan koma. Kartubebas diizinkan.

Untuk melihat atau mengubah daftar host tepercaya, gunakan WSMan: drive. Item TrustedHost ada di simpul WSMan:\localhost\Client . Hanya anggota grup Administrator pada komputer yang memiliki izin untuk mengubah daftar host tepercaya pada komputer.

Perhatian

Nilai yang Anda tetapkan untuk item TrustedHosts memengaruhi semua pengguna komputer.

Untuk melihat daftar host tepercaya, gunakan perintah berikut:

Get-Item wsman:\localhost\Client\TrustedHosts

Contoh berikut menggunakan karakter kartubebas (*) untuk menambahkan semua komputer ke daftar host tepercaya.

Set-Item wsman:localhost\client\trustedhosts -Value *

Anda juga dapat menggunakan karakter kartubebas (*) untuk menambahkan semua komputer di domain tertentu ke daftar host tepercaya. Misalnya, perintah berikut menambahkan semua komputer di domain Fabrikam.

Set-Item wsman:localhost\client\trustedhosts *.fabrikam.com

Contoh berikut mengatur daftar host tepercaya ke satu komputer.

$server = 'Server01.Domain01.Fabrikam.com'
Set-Item wsman:\localhost\Client\TrustedHosts -Value $server

Untuk menambahkan nama komputer ke daftar host tepercaya yang ada, pertama-tama simpan nilai saat ini dalam variabel. Kemudian atur nilai ke string yang berisi daftar yang dipisahkan koma yang menyertakan nilai saat ini dan baru.

Contoh berikut menambahkan Server01 ke daftar host tepercaya yang sudah ada.

$newServer = 'Server01.Domain01.Fabrikam.com'
$curValue = (Get-Item wsman:\localhost\Client\TrustedHosts).Value
Set-Item wsman:\localhost\Client\TrustedHosts -Value "$curValue, $newServer"

Untuk menambahkan alamat IP komputer tertentu ke daftar host tepercaya, gunakan format perintah berikut:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <IP Address>

Contohnya:

Set-Item wsman:\localhost\Client\TrustedHosts -Value 172.16.0.0

Untuk menambahkan komputer ke daftar TrustedHosts komputer jarak jauh, gunakan Connect-WSMan untuk menyambungkan ke WSMan: drive komputer jarak jauh yang digunakan Set-Item untuk menambahkan komputer.

Untuk informasi selengkapnya tentang, lihat bantuan untuk Koneksi-WSMan.

Cara mengonfigurasi jarak jauh pada port alternatif

Untuk kesalahan:

KESALAHAN: Koneksi ke host jarak jauh yang ditentukan ditolak. Verifikasi bahwa layanan WS-Management berjalan pada host jarak jauh dan dikonfigurasi untuk mendengarkan permintaan pada port dan URL HTTP yang benar.

PowerShell jarak jauh menggunakan port 80 untuk transportasi HTTP secara default. Port default digunakan setiap kali pengguna tidak menentukan parameter Koneksi ionURI atau Port dalam perintah jarak jauh.

Gunakan Set-Item cmdlet untuk mengubah nilai Port di simpul daun pendengar.

Misalnya, perintah berikut mengubah port default menjadi 8080.

Set-Item wsman:\localhost\listener\listener*\port -Value 8080

Cara mengonfigurasi jarak jauh dengan server proksi

Untuk kesalahan:

KESALAHAN: Klien tidak dapat tersambung ke tujuan yang ditentukan dalam permintaan. Verifikasi bahwa layanan di tujuan sedang berjalan dan menerima permintaan.

Karena Jarak jauh PowerShell menggunakan protokol HTTP, powerShell dipengaruhi oleh pengaturan proksi HTTP. Di perusahaan yang memiliki server proksi, pengguna tidak dapat mengakses komputer jarak jauh PowerShell secara langsung.

Untuk mengatasi masalah ini, gunakan opsi pengaturan proksi di perintah jarak jauh Anda.

  • Gunakan parameter ProxyAccessType, ProxyAuthentication, dan ProxyCredential cmdlet New-PSSessionOption untuk membuat variabel yang berisi objek PSSessionOption dengan pengaturan proksi untuk perusahaan Anda.
  • Gunakan variabel yang berisi objek PSSessionOption wit parameter SessionOption dari New-PSSessionperintah , , Enter-PSSessionatau Invoke-Command .
$newPSSessionOptionSplat = @{
    ProxyAccessType = 'IEConfig'
    ProxyAuthentication = 'Negotiate'
    ProxyCredential = 'Domain01\User01'
}
$SessionOption = New-PSSessionOption @newPSSessionOptionSplat

$newPSSessionSplat = @{
    ConnectionUri = 'https://www.fabrikam.com'
    SessionOption = $SessionOption
}
New-PSSession @newPSSessionSplat

Untuk informasi selengkapnya tentang New-PSSessionOption cmdlet, lihat New-PSSessionOption.

Untuk mengatur opsi ini untuk semua perintah jarak jauh dalam sesi saat ini, atur $PSSessionOption variabel preferensi ke objek PSSessionOption yang Anda buat. Untuk informasi selengkapnya, lihat about_Preference_Variables.

Untuk mengatur opsi ini untuk semua perintah jarak jauh di semua sesi PowerShell di komputer lokal, tambahkan $PSSessionOption variabel preferensi ke profil PowerShell Anda. Untuk informasi selengkapnya tentang profil PowerShell, lihat about_Profiles.

Cara mendeteksi sesi 32-bit pada komputer 64-bit

Untuk kesalahan:

KESALAHAN: Istilah <nama> alat tidak dikenali sebagai nama cmdlet, fungsi, file skrip, atau program yang dapat dioperasikan. Periksa ejaan nama, atau jika jalur disertakan, verifikasi bahwa jalur tersebut benar dan coba lagi.

Jika komputer jarak jauh menjalankan Windows versi 64-bit, dan perintah jarak jauh menggunakan konfigurasi sesi 32-bit, seperti Microsoft.PowerShell32, WinRM memuat proses WOW64. Windows otomatis mengalihkan semua referensi ke $env:Windir\System32$env:Windir\SysWOW64 direktori.

Akibatnya, alat yang berjalan di System32 direktori yang tidak memiliki mitra di SysWow64 direktori tidak dapat ditemukan.

Untuk menemukan arsitektur prosesor yang sedang digunakan dalam sesi, gunakan nilai variabel lingkungan PROCESSOR_ARCHITECTURE .

$s = New-PSSession -ComputerName Server01 -ConfigurationName CustomShell
Invoke-Command -Session $s {$env:PROCESSOR_ARCHITECTURE}
x86

Untuk informasi selengkapnya, lihat about_Session_Configurations.

Pemecahan masalah kebijakan dan preferensi

Bagian ini membahas masalah jarak jauh yang terkait dengan kebijakan dan preferensi yang ditetapkan pada komputer lokal dan jarak jauh.

Cara mengubah kebijakan eksekusi untuk Import-PSSession dan Import-Module

Untuk kesalahan:

KESALAHAN: Import-Module: Nama <> file tidak dapat dimuat karena eksekusi skrip dinonaktifkan pada sistem ini.

Import-PSSession cmdlet dan Export-PSSession membuat modul yang berisi file skrip dan file pemformatan yang tidak ditandatangani.

Untuk mengimpor modul yang dibuat oleh cmdlet ini, kebijakan eksekusi dalam sesi saat ini tidak boleh Restricted atau AllSigned. Untuk informasi selengkapnya, lihat about_Execution_Policies.

Untuk mengimpor modul tanpa mengubah kebijakan eksekusi untuk komputer lokal, gunakan parameter Set-ExecutionPolicy Cakupan untuk mengatur kebijakan eksekusi yang kurang ketat untuk satu proses.

Misalnya, contoh berikut menetapkan kebijakan eksekusi ke RemoteSigned untuk proses saat ini. Perubahan hanya memengaruhi proses saat ini.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

Anda juga dapat menggunakan parameter PowerShell.exe ExecutionPolicy untuk memulai satu sesi dengan kebijakan eksekusi yang kurang ketat.

pwsh.exe -ExecutionPolicy RemoteSigned

Cara mengatur dan mengubah kuota

Anda dapat menggunakan kuota untuk melindungi komputer lokal dan komputer jarak jauh dari penggunaan sumber daya yang berlebihan, baik yang tidak disengaja maupun berbahaya. Saat kuota bertentangan dengan perintah, PowerShell menghasilkan kesalahan berikut.

KESALAHAN: Total data yang diterima dari klien jarak jauh melebihi maksimum yang diizinkan.

Penyedia WSMan memiliki pengaturan kuota berikut:

  • Pengaturan MaxEnvelopeSizeKB dan MaxProviderRequests di WSMan:<ComputerName> node dan pengaturan MaxConcurrentOperations, MaxConcurrentOperationsPerUser, dan Max Koneksi ions di simpulWSMan:<ComputerName>\Service.
  • Anda dapat menggunakan parameter MaximumReceivedDataSizePerCommand dan MaximumReceivedObjectSize dari New-PSSessionOption cmdlet dan $PSSessionOption variabel preferensi untuk melindungi komputer lokal.
  • Untuk melindungi komputer jarak jauh, tambahkan pembatasan ke konfigurasi sesi menggunakan parameter MaximumReceivedDataSizePerCommandMB dan MaximumReceivedObjectSizeMB cmdlet Register-PSSessionConfiguration .

Untuk mengatasi kesalahan, ubah perintah jarak jauh untuk mematuhi kuota atau menambah kuota untuk memungkinkan perintah selesai.

Misalnya, perintah berikut meningkatkan kuota ukuran objek dalam konfigurasi sesi Microsoft.PowerShell di komputer jarak jauh dari 10 MB (nilai default) menjadi 11 MB.

$setPSSessionConfigurationSplat = @{
    Name = 'Microsoft.PowerShell'
    MaximumReceivedObjectSizeMB = 11
    Force = $true
}
Set-PSSessionConfiguration @setPSSessionConfigurationSplat

Untuk informasi selengkapnya tentang kuota WS-Management, lihat about_WSMan_Provider.

Cara mengatasi kesalahan waktu habis

Anda dapat menggunakan batas waktu untuk melindungi komputer lokal dan komputer jarak jauh dari penggunaan sumber daya yang berlebihan, baik yang tidak disengaja maupun berbahaya. Ketika batas waktu diatur pada komputer lokal dan jarak jauh, PowerShell menggunakan pengaturan batas waktu terpendek.

Ketika nilai batas waktu tidak mengizinkan operasi selesai, PowerShell mengakhiri operasi dan menghasilkan kesalahan berikut.

KESALAHAN: Layanan WS-Management tidak dapat menyelesaikan operasi dalam waktu yang ditentukan dalam OperationTimeout.

Penyedia WSMan memiliki pengaturan batas waktu berikut.

  • Pengaturan MaxTimeoutMs di node dan pengaturan EnumerationTimeoutMs dan MaxPacketRetrievalTimeSeconds di simpul WSMan:<ComputerName>\ServiceWSMan:<ComputerName>.
  • Anda dapat melindungi komputer lokal menggunakan parameter CancelTimeout, IdleTimeout, OpenTimeout, dan OperationTimeout cmdlet New-PSSessionOption dan $PSSessionOption variabel preferensi.
  • Anda juga dapat melindungi komputer jarak jauh dengan mengatur nilai batas waktu secara terprogram dalam konfigurasi sesi untuk sesi.

Untuk mengatasi kesalahan, ubah perintah untuk diselesaikan dalam interval waktu habis atau tingkatkan interval batas waktu untuk memungkinkan perintah selesai.

Contoh berikut membuat opsi sesi dengan nilai OperationTimeout 4 menit (dalam MS), lalu menggunakan opsi sesi untuk membuat sesi jarak jauh.

$pso = New-PSSessionOption -OperationTimeout 240000
New-PSSession -ComputerName Server01 -SessionOption $pso

Untuk informasi selengkapnya tentang batas waktu WS-Management, lihat about_WSMan_Provider.

Cara mengganggu perintah yang tidak responsif

Beberapa program asli, seperti program dengan antarmuka pengguna, aplikasi konsol yang meminta input, dan aplikasi konsol yang menggunakan API konsol Win32, tidak berfungsi dengan benar di host jarak jauh PowerShell.

Ketika Anda menggunakan program ini, Anda mungkin melihat perilaku tak terduga, seperti tidak ada output, output parsial, atau perintah jarak jauh yang tidak selesai.

Untuk mengakhiri program yang tidak responsif, ketik Ctrl+c. Gunakan Get-Error di host lokal dan sesi jarak jauh untuk melihat kesalahan apa pun yang mungkin telah dilaporkan.

Cara memulihkan dari kegagalan operasi

Kesalahan berikut dikembalikan ketika operasi dihentikan sebelum selesai.

KESALAHAN: Operasi I/O telah dibatalkan karena keluarnya utas atau permintaan aplikasi.

Biasanya, ini terjadi ketika layanan WinRM berhenti atau dimulai ulang saat operasi WinRM lainnya sedang berlangsung.

Untuk mengatasi masalah ini, verifikasi bahwa layanan WinRM sedang berjalan dan coba perintah lagi.

  1. Mulai PowerShell dengan opsi Jalankan sebagai administrator .

  2. Jalankan perintah berikut:

    Start-Service WinRM

  3. Jalankan kembali perintah yang menghasilkan kesalahan.

Batasan Linux dan macOS

PowerShell remoting adalah Linux dan macOS menggunakan remoting melalui SSH. Untuk informasi selengkapnya, lihat PowerShell Remoting Over SSH.

Lihat juga