Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Rilis PowerShell Core 6.2 berfokus pada peningkatan performa, perbaikan bug, dan cmdlet yang lebih kecil dan peningkatan bahasa yang meningkatkan kualitas. Untuk melihat daftar lengkap peningkatan, lihat log perubahan terperinci kami di GitHub.
Fitur Eksperimental
Sebelumnya, kami mengaktifkan dukungan untuk Fitur Eksperimental. Dalam rilis 6.2, kami memiliki empat fitur eksperimental untuk dicoba. Harap berikan umpan balik sehingga kami dapat melakukan perbaikan dan untuk memutuskan apakah fitur tersebut layak dipromosikan ke status arus utama.
Gunakan Get-ExperimentalFeature untuk mendapatkan daftar fitur eksperimental yang tersedia. Anda dapat mengaktifkan atau menonaktifkan fitur ini dengan Enable-ExperimentalFeature dan Disable-ExperimentalFeature.
Saran Perintah Tidak Ditemukan
Fitur ini menggunakan pencocokan fuzzy untuk menemukan saran perintah atau cmdlet yang mungkin salah ketik.
Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion
Example
Dalam contoh ini, nama cmdlet yang salah eja dicocokkan dengan beberapa saran dari kemungkinan besar hingga paling tidak mungkin.
Get-Commnd
Get-Commnd : The term 'Get-Commnd' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
At line:1 char:1
+ Get-Commnd
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Commnd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [4,General]: The most similar commands are: Get-Command, Get-Content, Get-Job, Get-Module,
Get-Event, Get-Host, Get-Member, Get-Item, Set-Content.
Batching jarak jauh implisit
Saat menggunakan jarak jauh implisit dalam alur, PowerShell memperlakukan setiap perintah dalam alur secara independen. Objek berulang kali diserialisasikan dan de-serialized antara klien dan sistem jarak jauh selama eksekusi alur.
Dengan fitur ini, PowerShell menganalisis alur untuk menentukan apakah perintah aman untuk dijalankan dan ada di sistem target. Jika benar, PowerShell mengeksekusi seluruh alur dari jarak jauh dan hanya menserialkan dan de-serializes hasilnya kembali ke klien.
Enable-ExperimentalFeature -Name PSImplicitRemotingBatching
Pengujian Get-Process | Sort-Object dunia nyata over localhost menurun dari 10-15 detik menjadi 20-30 milidetik. Fitur ini hanya perlu diaktifkan pada klien. Tidak ada perubahan yang diperlukan di server.
Penggerak Sementara
Enable-ExperimentalFeature -Name PSTempDrive
Jika Anda menggunakan PowerShell Core pada sistem operasi yang berbeda, Anda akan menemukan bahwa variabel lingkungan untuk menemukan direktori sementara berbeda di Windows, macOS, dan Linux! Dengan fitur ini, Anda mendapatkan nama Temp:PSDrive yang secara otomatis dipetakan ke folder sementara untuk sistem operasi yang Anda gunakan.
Example
PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!
Ketahuilah bahwa perintah file asli (seperti ls di Linux) tidak mengetahui PSDrives dan tidak akan melihat drive ini Temp: .
Perluasan Singkatan
Cmdlet PowerShell diharapkan memiliki kata benda deskriptif. Hal ini menghasilkan nama panjang yang lebih sulit untuk diketik. Fitur ini memungkinkan Anda untuk hanya mengetikkan karakter huruf besar dari cmdlet dan menggunakan pemulangan tab untuk menemukan kecocokan.
Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion
Example
PS> i-arsavsf
Jika Anda menekan tab, dan menginstal modul Azure PowerShell Az , itu akan dilengkapi secara otomatis untuk:
PS> Import-AzRecoveryServicesAsrVaultSettingsFile
Nota
Fitur ini dimaksudkan untuk digunakan secara interaktif. Bentuk cmdlet yang disingkat tidak dapat dieksekusi. Fitur ini bukan pengganti alias.
Pemecahan Perubahan
- Perbaiki
-NoEnumerateperilaku agarWrite-Outputkonsisten dengan Windows PowerShell. (#9069) - Jadikan
Join-String -InputObject 1,2,3hasil sama dengan1,2,3 | Join-Stringhasil (#8611) (Terima kasih @sethvs!) - Tambahkan
-StablekeSort-Objectdan tes terkait (#7862) (Terima kasih @KirkMunro!) - Tingkatkan
Start-Sleepcmdlet untuk menerima pecahan detik (#8537) (Terima kasih @Prototyyppi!) - Ubah hashtable untuk menggunakan OrdinalIgnoreCase menjadi di
case-insensitivesemua Budaya (#8566) - Perbaiki LiteralPath untuk
Import-Csvmengikat keGet-ChildItemoutput (#8277) (Terima kasih @iSazonov!) - Tidak lagi melewatkan kolom tanpa nama jika pemisah tanda kutip ganda digunakan di
Import-Csv(#7899) (Terima kasih @Topping!) -
Get-ExperimentalFeaturetidak lagi memiliki-ListAvailablesakelar (#8318) - Parameter debug sekarang diatur
$DebugPreferenceke Lanjutkan , bukan Inquire (#8195) (Terima kasih @KirkMunro!) - Kehormatan
-OutputFormatjika ditentukan dalam perintah non-interaktif, dialihkan, dan dikodekan yang digunakan dengan pwsh (#8115) - Muat rakitan dari jalur dasar modul sebelum mencoba memuat dari GAC (#8073)
- Hapus tilde dari paket pratinjau Linux (#8244)
- Memindahkan
-WorkingDirectorypemrosesan sebelum pemrosesan profil (#8079) - Jangan tambahkan
PATHEXTvariabel lingkungan di Unix (#7697) (Terima kasih @iSazonov!)
Masalah yang Diketahui
- Jarak jauh pada platform Windows IOT ARM memiliki masalah saat memuat modul. Lihat (#8053)
Pembaruan dan Perbaikan Umum
- Aktifkan penyelesaian tab tidak peka huruf besar/kecil untuk file dan folder pada sistem file peka huruf besar/kecil (#8128)
- Jadikan PSVersionInfo.PSVersion dan PSVersionInfo.PSEdition publik (#8054) (Terima kasih @KirkMunro!)
- Tambahkan Inferensi Tipe untuk
$_/$PSItemblok (catch{ }#8020) (Terima kasih @vexx32!) - Perbaiki inferensi jenis pemanggilan metode statis (#8018) (Terima kasih @SeeminglyScience!)
- Buat jenis yang disimpulkan untuk
Select-Object,Group-Object, PSObject dan Hashtable (#7231) (Terima kasih @powercode!) - Mendukung metode pemanggilan dengan
ByRef-likeparameter jenis (#7721) - Tangani kasus di mana jalur modul Windows PowerShell sudah ada di PSModulePath lingkungan (#7727)
- Aktifkan
SecureStringcmdlet untuk non-Windows dengan menyimpan teks biasa (#9199) - Meningkatkan pesan kesalahan pada non-Windows saat mengimpor clixml dengan securestring (#7997)
- Menambahkan parameter ReplyTo to
Send-MailMessage(#8727) (Terima kasih @replicaJunction!) - Tambahkan pesan usang ke
Send-MailMessage(#9178) - Memperbaiki
Restart-Computeruntuk dikerjakanlocalhostsaat WinRM tidak ada (#9160) - Buat
Start-Jobkesalahan penghentian lemparan saat PowerShell dihosting (#9128) - Tambahkan akselerator dan akhiran tipe gaya C# untuk literal ushort, uint, ulong, dan short (#7813) (Terima kasih @vexx32!)
- Menambahkan akhiran baru untuk literal numerik - lihat about_Numeric_Literals (#7901) (Terima kasih @vexx32!)
- Laporkan tingkat dampak dengan benar saat SupportsShouldProcess tidak diatur ke 'true' (#8209) (Terima kasih @vexx32!)
- Perbaiki Masalah Charset Permintaan di Cmdlet Web (#8742) (Terima kasih @markekraus!)
- Perbaiki masalah Expect
100-continuedengan Web Cmdlet (#8679) (Terima kasih @markekraus!) - Perbaiki masalah pemblokiran file dengan cmdlet web (#7676) (Terima kasih @Claustn!)
- Perbaiki masalah penguraian halaman kode di
Invoke-RestMethod(#8694) (Terima kasih @markekraus!) - Faktor ulang
ConvertTo-Jsonuntuk mengekspos JsonObject.ConvertToJson sebagai API publik (#8682) - Tambahkan kedalaman
ConvertFrom-Jsonmaksimum yang dapat dikonfigurasi dengan -Depth (#8199) (Terima kasih @louistio!) - Tambahkan parameter EscapeHandling dalam
ConvertTo-Jsoncmdlet (#7775) (Terima kasih @iSazonov!) - Tambahkan
-CustomPipeNameke pwsh danEnter-PSHostProcess(#8889) - Aktifkan pembuatan tautan simbolis relatif di Windows dengan
New-Item(#8783) - Izinkan pengguna Windows dalam mode pengembang untuk membuat symlink tanpa elevasi (#8534)
- Aktifkan
Write-Informationuntuk menerima$null(#8774) - Memperbaiki
Get-Helpfungsi lanjutan dengan konten bantuan MAML (#8353) - Perbaiki
Get-Helpmasalah PSTypeName dengan -Parameter ketika hanya satu parameter yang dideklarasikan (#8754) (Terima kasih @pougetat!) - Perbaikan perhitungan token untuk
Get-Helpdijalankan di ScriptBlock untuk bantuan komentar. (#8238) (Terima kasih @hubuk!) - Ubah
Get-Helpparameter -Parameter cmdlet sehingga menerima array string (#8454) (Terima kasih @sethvs!) - Selesaikan PAGER jika jalurnya berisi spasi (#8571) (Terima kasih @pougetat!)
- Tambahkan prompt ke penggunaan fungsi
less'bantuan' untuk menginstruksikan pengguna cara keluar (#7998) - Tambahkan jenis enum dan char dukungan di
Format-Hexcmdlet (#8191) (Terima kasih @iSazonov!) - Hapus ShouldProcess dari
Format-Hex(#8178) - Tambahkan parameter Offset dan Count baru ke
Format-Hexdan memfaktorkan ulang cmdlet (#7877) (Terima kasih @iSazonov!) - Izinkan 'name' sebagai kunci alias untuk 'label' di
ConvertTo-Html, izinkan entri 'width' menjadi bilangan bulat (#8426) (Terima kasih @mklement0!) - Membuat properti terhitung berbasis scriptblock berfungsi lagi di
ConvertTo-Html(#8427) (Terima kasih @mklement0!) - Tambahkan cmdlet
Join-Stringuntuk membuat teks dari input alur (#7660) (Terima kasih @powercode!) - Perbaiki
Join-Stringlogika parameter cmdlet FormatString (#8449) (Terima kasih @sethvs!) - Ubah
Clear-Hostkembali ke penggunaan$RAWUIdan hapus untuk bekerja melalui jarak jauh (#8609) - Ubah
Clear-Hostmenjadi hanya disebut[console]::cleardan hapus alias yang jelas dari Unix (#8603) - Perbaiki LiteralPath untuk
Import-Csvmengikat keGet-ChildItemoutput (#8277) (Terima kasih @iSazonov!) - help tidak boleh menggunakan pager untuk AliasHelpInfo (#8552)
- Tambahkan
-UseMinimalHeaderkeStart-Transcriptuntuk meminimalkan header transkrip (#8402) (Terima kasih @lukexjeremy!) - Tambahkan
Enable-ExperimentalFeaturedanDisable-ExperimentalFeaturecmdlet (#8318) - Mengekspos semua cmdlet dari PSDiagnostics jika logman.exe tersedia (#8366)
- Hapus parameter Persist dari
New-PSDriveplatform (non-Windows#8291) (Terima kasih @lukexjeremy!) - Tambahkan dukungan untuk
cd +(#7206) (Terima kasih @bergmeister!) - Aktifkan
Set-Location -LiteralPathuntuk bekerja dengan folder bernama - dan + (#8089) -
Test-Pathmengembalikan$falseketika diberi nilai kosong atau$nulljalur (#8080) (Terima kasih @vexx32!) - Izinkan parameter dinamis dikembalikan meskipun jalur tidak cocok dengan penyedia mana pun (#7957)
- Dukungan
Get-PSHostProcessInfodanEnter-PSHostProcessdi platform Unix (#8232) - Mengurangi alokasi dalam
Get-Contentcmdlet (#8103) (Terima kasih @iSazonov!) - Aktifkan
Add-Contentuntuk berbagi akses baca dengan alat lain saat menulis konten (#8091) -
Get/Add-Contentmelemparkan kesalahan yang ditingkatkan saat menargetkan kontainer (#7823) (Terima kasih @kvprasoon!) - Tambahkan
-Name,-NoUserOverridesdan-ListAvailableparameter keGet-Culturecmdlet (#7702) (Terima kasih @iSazonov!) - Tambahkan atribut terpadu untuk penyelesaian parameter Pengkodean . (#7732) (Terima kasih @ThreeFive-O!)
- Izinkan ID numerik dan nama halaman kode terdaftar di parameter Pengkodean (#7636) (Terima kasih @iSazonov!)
- Perbaiki
Rename-Item -Pathdengan karakter pengganti (#7398) (Terima kasih @kwkam!) - Saat menggunakan
Start-Transcriptdan file ada, kosongkan file daripada menghapus (#8131) (Terima kasih @paalbra!) - Buat
Add-Typefile sumber terbuka dengan FileAccess.Read dan FileShare.Read secara eksplisit (#7915) (Terima kasih @IISResetMe!) - Perbaiki
Enter-PSSession -ContainerIduntuk Windows terbaru (#7883) - Pastikan properti NestedModules diisi oleh
Test-ModuleManifest(#7859) - Tambahkan
%Fkasus keGet-Date-UFormat (#7630) (Terima kasih @britishben!) - Memperbaiki
Set-Service -Status Stoppeduntuk menghentikan layanan dengan dependensi (#5525) (Terima kasih @zhenggu!)