Yang Baru di Windows PowerShell 5.0

Windows PowerShell 5.0 mencakup fitur baru signifikan yang memperluas penggunaannya, meningkatkan kegunaannya, dan memungkinkan Anda mengontrol dan mengelola lingkungan berbasis Windows dengan lebih mudah dan komprehensif.

Windows PowerShell 5.0 kompatibel mundur. Cmdlet, penyedia, modul, snap-in, skrip, fungsi, dan profil yang dirancang untuk Windows PowerShell 4.0, Windows PowerShell 3.0, dan Windows PowerShell 2.0 umumnya berfungsi di Windows PowerShell 5.0 tanpa perubahan.

Menginstal Windows PowerShell

Windows PowerShell 5.0 diinstal secara default pada Pratinjau Teknis Windows Server 2016 dan Windows 10.

Untuk menginstal Windows PowerShell 5.0 di Windows Server 2012 R2, Windows 8.1 Enterprise, atau Windows 8.1 Pro, unduh dan instal Windows Management Framework 5.0. Pastikan untuk membaca detail unduhan, dan memenuhi semua persyaratan sistem, sebelum Anda menginstal Windows Management Framework 5.0.

Dalam topik ini

pembaruan Windows PowerShell 4.0 pada rollup pembaruan November 2014 (KB 3000850)

Banyak pembaruan dan peningkatan pada Windows PowerShell Desired State Configuration (DSC) di Windows PowerShell 4.0 tersedia dalam rollup pembaruan November 2014 untuk Windows RT 8.1, Windows 8.1, dan Windows Server 2012 R2 (KB3000850). Anda dapat menentukan apakah KB3000850 diinstal pada sistem Anda dengan berjalan Get-Hotfix -Id KB3000850 di Windows PowerShell.

  • Updates cmdlet yang ada dalam modul PSDesiredStateConfiguration

  • Cmdlet baru dalam modul PSDesiredStateConfiguration

  • Penyempurnaan bahasa

    • DependsOn sekarang mendukung sumber daya komposit.
    • DependsOn sekarang mendukung angka dalam nama instans sumber daya.
    • Ekspresi simpul yang mengevaluasi ke kosong tidak lagi melemparkan kesalahan.
    • Kesalahan yang terjadi jika ekspresi simpul mengevaluasi ke kosong telah diperbaiki.
    • Konfigurasi yang memanggil konfigurasi sekarang berfungsi di konsol Windows PowerShell.
  • Penyempurnaan mode penarikan

    • Mode penarikan sekarang mendukung semua file ZIP.
    • AllowModuleOverwrite sekarang berfungsi dengan benar.
  • Peningkatan ketahanan

    • DebugMode Baru memungkinkan Anda memuat ulang modul sumber daya.
    • Jika kegagalan konfigurasi terjadi, file pending.mof tidak dihapus.
    • Local Configuration Manager (LCM) sekarang lebih tangguh ketika pengaturan metakonfigurasi telah rusak.
  • Peningkatan diagnostik

    • Peringatan ditampilkan ketika LCM mengatur timer ke pengaturan yang berbeda dari yang Anda tentukan.
    • File log kesalahan sekarang berisi tumpukan panggilan untuk sumber daya Windows PowerShell.
  • Peningkatan fleksibilitas

    • Sumber daya LocalConfigurationManager memiliki properti baru, ActionAfterReboot.
      • ContinueConfiguration (nilai default): Secara otomatis melanjutkan konfigurasi setelah simpul target dimulai ulang.
      • StopConfiguration: Jangan melanjutkan konfigurasi secara otomatis setelah simpul dimulai ulang.
    • Eksekusi konsistensi sekarang dapat terjadi lebih sering daripada operasi PULL, atau sebaliknya.
    • Dukungan penerapan versi: DSC sekarang dapat mengenali dokumen yang dihasilkan pada klien yang lebih baru (disertakan dengan WMF 5.0).
  • Penyempurnaan pencegahan kesalahan

    • Versi modul sekarang diberlakukan sebelum konfigurasi diterapkan.
    • DebugPreference sekarang diatur dengan benar untuk panggilan Get-, Set-, atau Test-TargetResource.
  • Peningkatan penanganan kredensial

    • Sertifikat sekarang digunakan, jika Sertifikat dan PSDscAllowPlainTextPassword ditentukan.
    • Kredensial didekripsi, bahkan untuk Get-TargetResource.
    • Kredensial metakonfigurasi dienkripsi dan didekripsi.
    • PSCredential sekarang didekripsi ketika berada dalam objek yang disematkan.
  • Peningkatan sumber daya bawaan

    • Sumber daya Paket
      • Tidak lagi menginstal paket yang salah (baik dari sumber lokal atau web).
      • Sekarang mendukung HTTPS.
    • Sekarang ada dukungan untuk HTTPS di sumber daya Paket.
    • Sumber daya arsip sekarang mendukung kredensial.

Fitur baru di Windows PowerShell 5.0

Fitur baru di Windows PowerShell

  • Mulai dari Windows PowerShell 5.0, Anda dapat mengembangkan menggunakan kelas, sintaks formal, dan semantik yang mirip dengan bahasa pemrograman berorientasi objek lainnya. Kelas, Enum, dan kata kunci lainnya telah ditambahkan ke bahasa Windows PowerShell untuk mendukung fitur baru. Untuk informasi selengkapnya tentang bekerja dengan kelas, lihat about_Classes.

  • Windows PowerShell 5.0 memperkenalkan aliran informasi terstruktur baru yang dapat Anda gunakan untuk mengirimkan data terstruktur antara skrip dan pemanggilnya (atau lingkungan hosting). Anda sekarang dapat menggunakan Write-Host untuk memancarkan output ke aliran informasi. Aliran informasi juga berfungsi untuk PowerShell.Streams, pekerjaan, pekerjaan terjadwal, dan alur kerja. Fitur berikut mendukung aliran informasi.

    • Cmdlet Write-Information baru yang memungkinkan Anda menentukan bagaimana Windows PowerShell menangani data aliran informasi untuk perintah. Write-Host adalah pembungkus untuk Write-Information. Write-Information juga merupakan aktivitas alur kerja yang didukung.
    • Dua parameter umum baru, InformationVariable dan InformationAction, memungkinkan Anda menentukan bagaimana aliran informasi dari perintah ditampilkan. Nilai yang valid untuk InformationAction adalah SilentlyContinue, Stop, Continue, Inquire, Ignore, atau Suspend, dengan SilentlyContinue menjadi default. InformationVariable menentukan string sebagai nama variabel tempat Anda ingin data Write-Host dari perintah disimpan.
    • Variabel preferensi baru, InformationPreference, menentukan preferensi default Anda untuk data aliran informasi dalam sesi Windows PowerShell. Nilai defaultnya adalah SilentlyContinue.
    • Dua parameter umum alur kerja baru, PSInformation dan InformationAction, telah ditambahkan.
    • Saat Anda menggunakan perintah Format-Table, kolom tabel sekarang secara otomatis diformat dengan mengevaluasi 300ms data pertama yang melewati aliran.
  • Bekerja sama dengan Microsoft Research, cmdlet baru, ConvertFrom-String, telah ditambahkan. ConvertFrom-String memungkinkan Anda mengekstrak dan mengurai objek terstruktur dari konten string teks. Untuk informasi selengkapnya, lihat ConvertFrom-String.

  • Cmdlet Convert-String baru secara otomatis memformat teks berdasarkan contoh yang Anda berikan dalam parameter -Contoh.

  • Modul baru, Microsoft.PowerShell.Archive, menyertakan cmdlet yang memungkinkan Anda memadatkan file dan folder ke dalam file arsip (juga dikenal sebagai ZIP), mengekstrak file dari file ZIP yang ada, dan memperbarui file ZIP dengan versi file yang lebih baru yang dikompresi di dalamnya.

  • Modul baru, PackageManagement, memungkinkan Anda menemukan dan menginstal paket perangkat lunak di Internet. Modul PackageManagement (sebelumnya dikenal sebagai OneGet) adalah manajer atau multiplekser manajer paket yang ada (juga disebut penyedia paket) untuk menyatukan manajemen paket Windows dengan satu antarmuka Windows PowerShell.

  • Modul baru, PowerShellGet, memungkinkan Anda menemukan, menginstal, menerbitkan, dan memperbarui modul dan sumber daya DSC di Galeri PowerShell, atau pada repositori modul internal yang dapat Anda siapkan dengan menjalankan cmdlet Register-PSRepository.

  • Kata kunci bahasa baru, Tersembunyi, telah ditambahkan untuk menentukan bahwa anggota (properti atau metode) tidak ditampilkan secara default dalam hasil Get-Member (kecuali Anda menambahkan parameter -Force). Properti atau metode yang telah ditandai tersembunyi juga tidak muncul dalam hasil IntelliSense, kecuali Anda berada dalam konteks di mana anggota harus terlihat; misalnya, variabel otomatis $This harus menampilkan anggota tersembunyi saat berada di metode kelas.

  • Item Baru, Hapus Item, dan Get-ChildItem telah ditingkatkan untuk mendukung pembuatan dan pengelolaan tautan simbolis. Parameter -ItemType untuk New-Item menerima nilai baru, SymbolicLink. Sekarang Anda dapat membuat tautan simbolis dalam satu baris dengan menjalankan cmdlet New-Item.

  • Get-ChildItem juga memiliki parameter -Depth baru, yang Anda gunakan dengan parameter -Recurse untuk membatasi rekursi. Misalnya, Get-ChildItem -Recurse -Depth 2 mengembalikan hasil dari folder saat ini, semua folder anak dalam folder saat ini, dan semua folder dalam folder anak.

  • Copy-Item sekarang memungkinkan Anda menyalin file atau folder dari satu sesi Windows PowerShell ke sesi lain, yang berarti Bahwa Anda dapat menyalin file ke sesi yang terhubung ke komputer jarak jauh, (termasuk komputer yang menjalankan Nano Server, dan dengan demikian tidak memiliki antarmuka lain). Untuk menyalin file, tentukan ID PSSession sebagai nilai parameter -FromSession dan -ToSession baru, dan tambahkan -Path dan -Destination untuk menentukan jalur asal dan tujuan, masing-masing. Misalnya, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • Windows PowerShell transkripsi telah ditingkatkan untuk diterapkan ke semua aplikasi hosting (seperti Windows PowerShell ISE) selain host konsol (powershell.exe). Opsi transkripsi (termasuk mengaktifkan transkrip di seluruh sistem) dapat dikonfigurasi dengan mengaktifkan pengaturan Kebijakan Grup Aktifkan Transkripsi PowerShell, yang ditemukan di Templat Administratif/Komponen Windows/Windows PowerShell.

  • Fitur pelacakan skrip terperinci baru memungkinkan Anda mengaktifkan pelacakan dan analisis terperinci tentang penggunaan pembuatan skrip Windows PowerShell pada sistem. Setelah Anda mengaktifkan pelacakan skrip terperinci, Windows PowerShell mencatat semua blok skrip ke log peristiwa Pelacakan Peristiwa untuk Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • Mulai Windows PowerShell 5.0, cmdlet Sintaks Pesan Kriptografi baru mendukung enkripsi dan dekripsi konten menggunakan format standar IETF untuk melindungi pesan secara kriptografis seperti yang di dokumentasikan oleh RFC5652. Cmdlet Get-CmsMessage, Protect-CmsMessage, dan Unprotect-CmsMessage telah ditambahkan ke modul Microsoft.PowerShell.Security .

  • Cmdlet baru dalam modul Microsoft.PowerShell.Utility , Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug, dan Disable-RunspaceDebug, memungkinkan Anda mengatur opsi debug pada runspace, dan memulai dan menghentikan debugging pada runspace. Untuk men-debug runspace arbitrer (yaitu, runspace yang bukan runspace default untuk konsol Windows PowerShell atau sesi ISE Windows PowerShell) Windows PowerShell memungkinkan Anda mengatur titik henti dalam skrip, dan telah menambahkan titik henti menghentikan skrip berjalan hingga Anda dapat melampirkan debugger untuk men-debug skrip runspace. Dukungan penelusuran kesalahan berlapis untuk runspace arbitrer telah ditambahkan ke debugger skrip Windows PowerShell untuk runspace.

  • Cmdlet Format-Hex baru telah ditambahkan ke modul Microsoft.PowerShell.Utility . Format-Hex memungkinkan Anda melihat teks atau data biner dalam format heksadesimal.

  • cmdlet Get-Clipboard dan Set-Clipboard telah ditambahkan ke modul Microsoft.PowerShell.Utility; mereka memudahkan transfer konten ke dan dari sesi Windows PowerShell. Cmdlet Clipboard mendukung gambar, file audio, daftar file, dan teks.

  • Cmdlet baru, Clear-RecycleBin, telah ditambahkan ke modul Microsoft.PowerShell.Management ; cmdlet ini mengikat Keranjang Sampah untuk drive tetap, yang mencakup drive eksternal. Secara default, Anda diminta untuk mengonfirmasi perintah Clear-RecycleBin, karena properti ConfirmImpact cmdlet diatur ke ConfirmImpact.High.

  • Cmdlet baru, New-TemporaryFile, memungkinkan Anda membuat file sementara sebagai bagian dari pembuatan skrip. Secara default, file sementara baru dibuat di C:\Users\<user name>\AppData\Local\Temp.

  • Cmdlet Out-File, Add-Content, dan Set-Content sekarang memiliki parameter -NoNewline baru, yang menghilangkan baris baru setelah output.

  • Cmdlet New-Guid memanfaatkan kelas guid .NET Framework untuk menghasilkan GUID, berguna saat Anda menulis skrip atau sumber daya DSC.

  • Karena informasi versi file dapat menyesatkan, terutama setelah file di-patch, properti skrip FileVersionRaw dan ProductVersionRaw baru tersedia untuk objek FileInfo. Misalnya, Anda dapat menjalankan perintah berikut untuk menampilkan nilai properti ini untuk powershell.exe, di mana $pid berisi ID proses untuk sesi Windows PowerShell yang sedang berjalan:Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • Cmdlet baru Enter-PSHostProcess dan Exit-PSHostProcess memungkinkan Anda men-debug skrip Windows PowerShell dalam proses yang terpisah dari proses saat ini yang berjalan di konsol Windows PowerShell. Jalankan Enter-PSHostProcess untuk memasukkan, atau melampirkan ke, ID proses tertentu, lalu jalankan Get-Runspace untuk mengembalikan runspace aktif dalam proses. Jalankan Exit-PSHostProcess untuk melepaskan dari proses ketika Anda selesai men-debug skrip dalam proses.

  • Cmdlet Wait-Debugger baru telah ditambahkan ke modul Microsoft.PowerShell.Utility . Anda dapat menjalankan Wait-Debugger untuk menghentikan skrip di debugger sebelum menjalankan pernyataan berikutnya dalam skrip.

  • Debugger alur kerja Windows PowerShell sekarang mendukung penyelesaian perintah atau tab, dan Anda dapat men-debug fungsi alur kerja berlapis. Sekarang Anda dapat menekan Ctrl+Break untuk memasukkan debugger dalam skrip yang sedang berjalan, di sesi lokal dan jarak jauh, dan dalam skrip alur kerja.

  • Cmdlet Debug-Job telah ditambahkan ke modul Microsoft.PowerShell.Core untuk men-debug skrip pekerjaan yang berjalan untuk Windows PowerShell Alur Kerja, latar belakang, dan pekerjaan yang berjalan dalam sesi jarak jauh.

  • Status baru, AtBreakpoint, telah ditambahkan untuk pekerjaan Windows PowerShell. Status AtBreakpoint berlaku saat pekerjaan menjalankan skrip yang menyertakan titik henti yang ditetapkan, dan skrip telah mencapai titik henti. Ketika pekerjaan dihentikan pada titik henti debug, Anda harus men-debug pekerjaan dengan menjalankan cmdlet Debug-Job.

  • Windows PowerShell 5.0 mengimplementasikan dukungan untuk beberapa versi modul Windows PowerShell tunggal di folder yang sama di $PSModulePath. Properti RequiredVersion telah ditambahkan ke kelas ModuleSpecification untuk membantu Anda mendapatkan versi modul yang diinginkan; properti ini saling eksklusif dengan properti ModuleVersion. RequiredVersion sekarang didukung sebagai bagian dari nilai parameter FullyQualifiedName dari cmdlet Get-Module, Import-Module, dan Remove-Module.

  • Anda sekarang dapat melakukan validasi versi modul dengan menjalankan cmdlet Test-ModuleManifest.

  • Hasil cmdlet Get-Command sekarang menampilkan kolom Versi; properti Versi baru telah ditambahkan ke kelas CommandInfo. Get-Command menunjukkan perintah dari beberapa versi modul yang sama. Properti Versi juga merupakan bagian dari kelas turunan cmdletInfo: CmdletInfo dan ApplicationInfo.

  • Get-Command memiliki parameter baru, -ShowCommandInfo, yang mengembalikan informasi ShowCommand sebagai PSObjects. Ini sangat berguna fungsionalitas ketika Show-Command dijalankan di ISE Windows PowerShell menggunakan Windows PowerShell jarak jauh. Parameter -ShowCommandInfo menggantikan fungsi Get-SerializedCommand yang ada dalam modul Microsoft.PowerShell.Utility, tetapi skrip Get-SerializedCommand masih tersedia untuk mendukung scripting downlevel.

  • Cmdlet Get-ItemPropertyValue baru memungkinkan Anda mendapatkan nilai properti tanpa menggunakan notasi titik. Misalnya, dalam rilis Windows PowerShell yang lebih lama, Anda dapat menjalankan perintah berikut untuk mendapatkan nilai properti Basis Aplikasi dari kunci registri PowerShellEngine: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase). ApplicationBase. Mulai dari Windows PowerShell 5.0, Anda dapat menjalankan Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • Konsol Windows PowerShell sekarang menggunakan pewarnaan sintaks, sama seperti di Windows PowerShell ISE.

  • Modul NetworkSwitch baru berisi cmdlet yang memungkinkan Anda menerapkan konfigurasi port sakelar, LAN virtual (VLAN), dan sakelar jaringan Lapisan 2 dasar ke sakelar jaringan bersertifikat Windows Server 2012 R2.

  • Parameter FullyQualifiedName telah ditambahkan ke cmdlet Import-Module dan Remove-Module, untuk mendukung penyimpanan beberapa versi modul tunggal.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession, dan Get-Command memiliki parameter baru, FullyQualifiedModule, dari jenis ModuleSpecification. Tambahkan parameter ini untuk menentukan modul dengan nama yang sepenuhnya memenuhi syarat.

  • Nilai $PSVersionTable.PSVersion telah diperbarui ke 5.0.

  • WMF 5.0 (PowerShell 5.0) menyertakan modul Pester . Pester adalah kerangka kerja pengujian unit untuk PowerShell. Ini menyediakan beberapa kata kunci yang mudah digunakan yang memungkinkan Anda membuat pengujian untuk skrip Anda.

Fitur baru di Windows PowerShell Desired State Configuration

  • Windows PowerShell penyempurnaan bahasa memungkinkan Anda menentukan sumber daya Windows PowerShell Desired State Configuration (DSC) menggunakan kelas. Import-DscResource sekarang menjadi kata kunci dinamis sejati; Windows PowerShell mengurai modul akar modul yang ditentukan, mencari kelas yang berisi atribut DscResource. Anda sekarang dapat menggunakan kelas untuk menentukan sumber daya DSC, di mana file MOF maupun subfolder DSCResource di folder modul diperlukan. File modul Windows PowerShell dapat berisi beberapa kelas sumber daya DSC.
  • Parameter baru, ThrottleLimit, telah ditambahkan ke cmdlet berikut dalam modul PSDesiredStateConfiguration. Tambahkan parameter ThrottleLimit untuk menentukan jumlah komputer target atau perangkat tempat Anda ingin perintah berfungsi secara bersamaan.
    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • Dengan pelaporan kesalahan DSC terpusat, informasi kesalahan yang kaya tidak hanya dicatat dalam log peristiwa, tetapi dapat dikirim ke lokasi pusat untuk analisis nanti. Anda dapat menggunakan lokasi pusat ini untuk menyimpan kesalahan konfigurasi DSC yang telah terjadi untuk server apa pun di lingkungannya. Setelah server laporan ditentukan dalam meta-configuration, semua kesalahan dikirim ke server laporan, lalu disimpan dalam database. Anda dapat menyiapkan fungsionalitas ini terlepas dari apakah simpul target dikonfigurasi untuk menarik konfigurasi dari server penarikan atau tidak.
  • Penyempurnaan Windows PowerShell ise memudahkan penulisan sumber daya DSC. Sekarang Anda bisa melakukan hal berikut.
    • Cantumkan semua sumber daya DSC dalam blok konfigurasi atau simpul dengan memasukkan Ctrl+Space pada baris kosong dalam blok.
    • Penyelesaian otomatis pada properti sumber daya dari jenis enumerasi .
    • Penyelesaian otomatis pada properti DependsOn sumber daya DSC, berdasarkan instans sumber daya lain dalam konfigurasi.
    • Penyelesaian tab yang disempurnakan dari nilai properti sumber daya.
  • Pengguna sekarang dapat menjalankan sumber daya di bawah sekumpulan kredensial tertentu dengan menambahkan atribut PSDscRunAsCredential ke blok Node. Misalnya, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Fungsionalitas ini berguna untuk membuat konfigurasi yang menjalankan Pemasang Windows dan alat penginstal yang dapat dieksekusi, mengakses sarang registri per pengguna, atau melakukan tugas lain di luar konteks pengguna saat ini.
  • Dukungan 32-bit (berbasis x86) telah ditambahkan untuk kata kunci Konfigurasi .
  • Windows PowerShell sekarang menyertakan dukungan untuk bantuan kustom untuk konfigurasi DSC, yang ditentukan dengan menambahkan [CmdletBinding()] ke fungsi konfigurasi yang dihasilkan.
  • Atribut DscLocalConfigurationManager baru menunjuk blok konfigurasi sebagai meta-configuration, yang digunakan untuk mengonfigurasi Configuration Manager Lokal DSC. Atribut ini membatasi konfigurasi untuk hanya berisi item yang mengonfigurasi Configuration Manager Lokal DSC. Selama pemrosesan, konfigurasi ini menghasilkan file *.meta.mof yang kemudian dikirim ke simpul target yang sesuai dengan menjalankan cmdlet Set-DscLocalConfigurationManager.
  • Konfigurasi parsial sekarang diizinkan dalam Windows PowerShell 5.0. Anda dapat mengirimkan dokumen konfigurasi ke simpul dalam fragmen. Agar simpul menerima beberapa fragmen dokumen konfigurasi, Configuration Manager Lokal simpul harus terlebih dahulu diatur untuk menentukan fragmen yang diharapkan
  • Sinkronisasi lintas komputer baru di DSC di Windows PowerShell 5.0. menggunakan sumber daya WaitFor* bawaan (WaitForAll, WaitForAny, dan WaitForSome), Anda sekarang dapat menentukan dependensi di seluruh komputer selama konfigurasi berjalan, tanpa orkestrasi eksternal. Sumber daya ini menyediakan sinkronisasi node-to-node menggunakan koneksi CIM melalui protokol WS-Man. Konfigurasi dapat menunggu status sumber daya khusus komputer lain berubah.
  • Just Enough Administration (JEA), fitur keamanan delegasi baru, memanfaatkan DSC dan Windows PowerShell runspace yang dibatasi untuk membantu mengamankan perusahaan dari kehilangan data atau disusupi oleh karyawan, baik disengaja maupun tidak disengaja. Untuk informasi selengkapnya tentang JEA, termasuk tempat Anda dapat mengunduh sumber daya xJEA DSC, lihat Administrasi Just Enough.
  • Cmdlet baru berikut telah ditambahkan ke modul PSDesiredStateConfiguration.
    • Cmdlet Get-DscConfigurationStatus baru mendapatkan informasi tingkat tinggi tentang status konfigurasi dari simpul target. Anda dapat memperoleh status konfigurasi terakhir, atau dari semua konfigurasi.
    • Cmdlet Compare-DscConfiguration baru membandingkan konfigurasi tertentu dengan status aktual satu atau beberapa simpul target.
    • Cmdlet Publish-DscConfiguration baru menyalin file MOF konfigurasi ke simpul target, tetapi tidak menerapkan konfigurasi. Konfigurasi diterapkan selama pass konsistensi berikutnya, atau saat Anda menjalankan cmdlet Update-DscConfiguration.
    • Cmdlet Test-DscConfiguration baru memungkinkan Anda memverifikasi bahwa konfigurasi yang dihasilkan cocok dengan konfigurasi yang diinginkan, mengembalikan True jika konfigurasi cocok dengan konfigurasi yang diinginkan, atau False jika konfigurasi aktual tidak cocok dengan konfigurasi yang diinginkan.
    • Cmdlet Update-DscConfiguration baru memaksa konfigurasi untuk diproses. Jika Configuration Manager Lokal berada dalam mode penarikan, cmdlet mendapatkan konfigurasi dari server penarikan sebelum menerapkannya.

Fitur baru di Windows PowerShell ISE

  • Anda sekarang dapat mengedit skrip dan file Windows PowerShell jarak jauh dalam salinan lokal Windows PowerShell ISE, dengan menjalankan Enter-PSSession untuk memulai sesi jarak jauh di komputer yang menyimpan file yang ingin Anda edit, lalu menjalankan jalur PSEdit <dan nama file di komputer> jarak jauh. Fitur ini memudahkan pengeditan Windows PowerShell file yang disimpan pada opsi penginstalan Server Core Windows Server, di mana Windows PowerShell ISE tidak dapat berjalan.
  • Cmdlet Start-Transcript sekarang didukung di ISE Windows PowerShell.
  • Anda sekarang dapat men-debug skrip jarak jauh di Windows PowerShell ISE.
  • Perintah menu baru, Hentian Semua (Ctrl+B), memecah ke debugger untuk skrip lokal dan yang berjalan dari jarak jauh.

Fitur baru di Windows PowerShell Web Services (Ekstensi IIS OData Manajemen)

  • Mulai dari Windows PowerShell 5.0, Anda dapat menghasilkan satu set cmdlet Windows PowerShell berdasarkan fungsionalitas yang diekspos oleh titik akhir OData tertentu, dengan menjalankan cmdlet Export-ODataEndpointProxy, yang ditemukan di modul Microsoft.PowerShell.OdataUtils baru.

Perbaikan bug penting di Windows PowerShell 5.0

  • Windows PowerShell 5.0 mencakup implementasi COM baru, yang menawarkan peningkatan performa yang signifikan ketika Anda bekerja dengan objek COM.
  • Peningkatan performa yang signifikan telah dilakukan pada penyelesaian tab pertama dalam sesi Windows PowerShell, mempersingkat waktu penyelesaian tab hampir 500 md.

Fitur baru di Windows PowerShell 4.0

Windows PowerShell 4.0 kompatibel mundur. Cmdlet, penyedia, modul, snap-in, skrip, fungsi, dan profil yang dirancang untuk Windows PowerShell 3.0 dan Windows PowerShell 2.0 berfungsi di Windows PowerShell 4.0 tanpa perubahan.

Windows PowerShell 4.0 diinstal secara default pada Windows 8.1 dan Windows Server 2012 R2. Untuk menginstal Windows PowerShell 4.0 di Windows 7 dengan SP1, atau Windows Server 2008 R2, unduh dan instal Windows Management Framework 4.0. Pastikan untuk membaca detail unduhan, dan memenuhi semua persyaratan sistem, sebelum Anda menginstal Windows Management Framework 4.0.

Windows PowerShell 4.0 menyertakan fitur baru berikut.

Fitur baru di Windows PowerShell

  • Windows PowerShell Desired State Configuration (DSC) adalah sistem manajemen baru di Windows PowerShell 4.0 yang memungkinkan penyebaran dan pengelolaan data konfigurasi untuk layanan perangkat lunak dan lingkungan tempat layanan ini berjalan. Untuk informasi selengkapnya tentang DSC, lihat Mulai menggunakan Windows PowerShell Desired State Configuration.
  • Save-Help sekarang memungkinkan Anda menyimpan bantuan untuk modul yang diinstal pada komputer jarak jauh. Anda dapat menggunakan Save-Help untuk mengunduh Bantuan modul dari klien yang terhubung ke Internet (di mana tidak semua modul yang Anda inginkan bantuannya harus diinstal), lalu menyalin Bantuan yang disimpan ke folder bersama jarak jauh atau komputer jarak jauh yang tidak memiliki akses Internet.
  • Debugger Windows PowerShell telah ditingkatkan untuk memungkinkan penelusuran kesalahan alur kerja Windows PowerShell, serta skrip yang berjalan di komputer jarak jauh. alur kerja Windows PowerShell sekarang dapat di-debug pada tingkat skrip dari baris perintah Windows PowerShell atau Windows PowerShell ISE. Windows PowerShell skrip, termasuk alur kerja skrip, sekarang dapat di-debug melalui sesi jarak jauh. Sesi penelusuran kesalahan jarak jauh dipertahankan selama Windows PowerShell sesi jarak jauh yang terputus dan kemudian disambungkan kembali.
  • Parameter RunNow untuk Register-ScheduledJob dan Set-ScheduledJob menghilangkan kebutuhan untuk mengatur tanggal dan waktu mulai segera untuk pekerjaan menggunakan parameter Pemicu .
  • Invoke-RestMethod dan Invoke-WebRequest sekarang memungkinkan Anda mengatur semua header menggunakan parameter Header. Meskipun parameter ini selalu ada, parameter ini adalah salah satu dari beberapa parameter untuk cmdlet web yang mengakibatkan pengecualian atau kesalahan.
  • Get-Module memiliki parameter baru, FullyQualifiedName, dari jenis ModuleSpecification[]. Parameter FullyQualifiedName Get-Module sekarang memungkinkan Anda menentukan modul menggunakan nama modul, versi, dan secara opsional, GUID-nya.
  • Pengaturan kebijakan eksekusi default pada Windows Server 2012 R2 adalah RemoteSigned. Pada Windows 8.1, tidak ada perubahan dalam pengaturan default.
  • Mulai dari Windows PowerShell 4.0, pemanggilan metode menggunakan nama metode dinamis didukung. Anda dapat menggunakan variabel untuk menyimpan nama metode, lalu secara dinamis memanggil metode dengan memanggil variabel.
  • Pekerjaan alur kerja asinkron tidak lagi dihapus ketika periode waktu habis yang ditentukan oleh parameter umum alur kerja PSElapsedTimeoutSec telah berlalu.
  • Parameter baru, RepeatIndefinitely, telah ditambahkan ke cmdlet New-JobTrigger dan Set-JobTrigger . Ini menghilangkan kebutuhan menentukan nilai TimeSpan.MaxValue untuk parameter RepetitionDuration untuk menjalankan pekerjaan terjadwal berulang kali selama periode yang tidak terbatas.
  • Parameter Passthru telah ditambahkan ke cmdlet Enable-JobTrigger dan Disable-JobTrigger . Parameter Passthru menampilkan objek apa pun yang dibuat atau dimodifikasi oleh perintah Anda.
  • Nama parameter untuk menentukan grup kerja di cmdlet Add-Computer dan Remove-Computer sekarang konsisten. Kedua cmdlet sekarang menggunakan parameter WorkgroupName.
  • Parameter umum baru, PipelineVariable, telah ditambahkan. PipelineVariable memungkinkan Anda menyimpan hasil perintah yang disalurkan (atau bagian dari perintah yang disalurkan) sebagai variabel yang dapat diteruskan melalui sisa alur.
  • Pemfilteran koleksi menggunakan sintaks metode sekarang didukung. Ini berarti bahwa Anda sekarang dapat memfilter kumpulan objek menggunakan sintaks yang disederhanakan, mirip dengan yang untuk Where() atau Where-Object, yang diformat sebagai panggilan metode. Berikut ini adalah contoh: (Get-Process).where({$_. Nama -match 'powershell'})
  • Cmdlet Get-Process memiliki parameter sakelar baru, IncludeUserName.
  • Cmdlet baru, Get-FileHash, yang mengembalikan hash file dalam salah satu dari beberapa format untuk file tertentu, telah ditambahkan.
  • Dalam Windows PowerShell 4.0, jika modul menggunakan kunci DefaultCommandPrefix dalam manifesnya, atau jika pengguna mengimpor modul dengan parameter Awalan, properti ExportedCommands modul menunjukkan perintah dalam modul dengan awalan. Saat Anda menjalankan perintah menggunakan sintaks yang memenuhi syarat modul, ModuleName\CommandName, nama perintah harus menyertakan awalan.
  • Nilai $PSVersionTable.PSVersion telah diperbarui ke 4.0.
  • Di mana() perilaku operator telah berubah. Collection.Where('property -match name') menerima ekspresi string dalam format "Property -CompareOperator Value" tidak lagi didukung. Namun, operator Where() menerima ekspresi string dalam format scriptblock; ini masih didukung.

Fitur baru di Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE mendukung penelusuran kesalahan alur kerja Windows PowerShell dan penelusuran kesalahan skrip jarak jauh.
  • Dukungan IntelliSense telah ditambahkan untuk penyedia dan konfigurasi Konfigurasi Status yang Diinginkan Windows PowerShell.

Fitur baru di Alur Kerja Windows PowerShell

  • Dukungan telah ditambahkan untuk parameter umum PipelineVariable baru dalam konteks alur iteratif, seperti yang digunakan oleh System Center Orchestrator; artinya, alur yang menjalankan perintah hanya kiri-ke-kanan, dibandingkan dengan diselingi berjalan menggunakan streaming.
  • Pengikatan parameter telah ditingkatkan secara signifikan untuk bekerja di luar skenario penyelesaian tab, seperti dengan perintah yang tidak ada di runspace saat ini.
  • Dukungan untuk aktivitas kontainer kustom telah ditambahkan ke Alur Kerja Windows PowerShell. Jika parameter aktivitas adalah jenis Aktivitas, Aktivitas[] (atau merupakan kumpulan aktivitas umum) dan pengguna telah menyediakan blok skrip sebagai argumen, maka alur kerja Windows PowerShell mengonversi blok skrip ke XAML, seperti halnya kompilasi skrip-ke-alur kerja Windows PowerShell normal.
  • Setelah crash, alur kerja Windows PowerShell secara otomatis tersambung kembali ke simpul terkelola.
  • Anda sekarang dapat membatasi pernyataan aktivitas Foreach -Parallel menggunakan properti ThrottleLimit .
  • Parameter umum ErrorAction memiliki nilai baru yang valid, Tangguhkan, yang khusus untuk alur kerja.
  • Titik akhir alur kerja sekarang secara otomatis ditutup jika tidak ada sesi aktif, tidak ada pekerjaan yang sedang berlangsung, dan tidak ada pekerjaan yang tertunda. Fitur ini menghemat sumber daya di komputer yang bertindak sebagai server alur kerja, ketika kondisi penutupan otomatis telah terpenuhi.

Fitur baru di Windows PowerShell Web Services

  • Ketika kesalahan terjadi di Windows PowerShell Web Services (PSWS, juga disebut Management OData IIS Extension), saat cmdlet berjalan, pesan kesalahan yang lebih rinci dikembalikan ke pemanggil. Selain itu, kode kesalahan mengikuti pedoman kode kesalahan Windows Azure REST API.
  • Titik akhir sekarang dapat menentukan versi API, serta memberlakukan penggunaan versi API tertentu. Setiap kali ketidakcocokan versi terjadi antara klien dan server, kesalahan ditampilkan kepada klien dan server.
  • Manajemen skema pengiriman telah disederhanakan dengan secara otomatis menghasilkan nilai untuk bidang yang hilang dalam skema. Pembuatan terjadi, sebagai titik awal yang bermanfaat, bahkan jika skema pengiriman tidak ada.
  • Penanganan jenis di PSWS telah ditingkatkan untuk mendukung jenis yang menggunakan konstruktor yang berbeda dari konstruktor default, dengan berperilaku mirip dengan PSTypeConverter di Windows PowerShell. Ini memungkinkan Anda menggunakan jenis kompleks dengan PSWS.
  • PSWS sekarang memungkinkan perluasan instans terkait saat menjalankan kueri. Untuk konten biner yang lebih besar (seperti gambar, audio, atau video), biaya transfer signifikan, dan lebih baik mentransfer data biner tanpa pengodean. PSWS menggunakan aliran sumber daya bernama untuk mentransfer tanpa pengodean. Aliran sumber daya bernama adalah properti entitas dari jenis Edm.Stream . Setiap aliran sumber daya bernama memiliki URI terpisah untuk operasi GET atau UPDATE.
  • Tindakan OData sekarang menyediakan mekanisme untuk memanggil metode non-CRUD (Buat, Baca, Perbarui, dan Hapus) pada sumber daya. Anda dapat memanggil tindakan dengan mengirim permintaan HTTP POST ke URI yang ditentukan untuk tindakan tersebut. Parameter untuk tindakan didefinisikan dalam isi permintaan POST.
  • Agar konsisten dengan panduan Windows Azure, semua URL harus disederhanakan. Perubahan yang disertakan dalam Key As Segment memungkinkan kunci tunggal direpresentasikan sebagai segmen. Perhatikan bahwa referensi yang menggunakan beberapa nilai kunci memerlukan nilai yang dipisahkan koma dalam notasi kurung, seperti sebelumnya.
  • Sebelum rilis PSWS ini, satu-satunya cara untuk melakukan operasi Buat, Perbarui, atau Hapus adalah dengan memanggil Posting, Letakkan, atau Hapus pada sumber daya tingkat atas. Baru dalam rilis PSWS ini, operasi Sumber Daya Terkandung memungkinkan pengguna mencapai hasil yang sama sambil mencapai sumber daya yang sama lebih sedikit secara langsung, mendekati seolah-olah sumber daya ini terkandung.

Fitur baru di Windows PowerShell Web Access

  • Anda dapat memutuskan sambungan dari dan menyambungkan kembali ke sesi yang ada di konsol Windows PowerShell Web Access berbasis web. Tombol Simpan di konsol berbasis web memungkinkan Anda memutuskan sambungan dari sesi tanpa menghapusnya dan menyambungkan kembali ke sesi lain waktu.
  • Parameter default dapat ditampilkan di halaman masuk. Untuk menampilkan parameter default, konfigurasikan nilai untuk semua pengaturan yang ditampilkan di area Pengaturan Koneksi Opsional dari halaman masuk dalam file bernama web.config. Anda dapat menggunakan file web.config untuk mengonfigurasi semua pengaturan koneksi opsional kecuali untuk sekumpulan info masuk kedua atau alternatif.
  • Di Windows Server 2012 R2, Anda dapat mengelola aturan otorisasi dari jarak jauh untuk akses web Windows PowerShell. Cmdlet Add-PswaAuthorizationRule dan Test-PswaAuthorizationRule sekarang menyertakan parameter Kredensial yang memungkinkan administrator mengelola aturan otorisasi dari komputer jarak jauh atau dalam sesi Windows PowerShell Web Access.
  • Sekarang Anda dapat memiliki beberapa sesi Windows PowerShell Web Access dalam satu sesi browser dengan menggunakan tab browser baru untuk setiap sesi. Anda tidak perlu lagi membuka sesi browser baru untuk menyambungkan ke sesi baru di konsol Windows PowerShell berbasis web.

Perbaikan bug penting di Windows PowerShell 4.0

  • Get-Counter sekarang dapat mengembalikan penghitung yang berisi karakter apostrof di Windows edisi Prancis.
  • Sekarang Anda dapat melihat metode GetType pada objek yang dideserialisasi.
  • #Requires pernyataan sekarang memungkinkan pengguna memerlukan hak akses Administrator, jika diperlukan.
  • Cmdlet Import-Csv sekarang mengabaikan baris kosong.
  • Masalah di mana ise Windows PowerShell menggunakan terlalu banyak memori saat Anda menjalankan perintah Invoke-WebRequest telah diperbaiki.
  • Get-Module sekarang menampilkan versi modul di kolom Versi .
  • Remove-Item -Recurse sekarang menghapus item dari subfolder seperti yang diharapkan.
  • Properti UserName telah ditambahkan ke objek output Get-Process .
  • Cmdlet Invoke-RestMethod sekarang mengembalikan semua hasil yang tersedia.
  • Add-Member sekarang berlaku pada hashtable, bahkan jika hashtable belum diakses.
  • Select-Object -Expand tidak lagi gagal atau menghasilkan pengecualian jika nilai properti null atau kosong.
  • Get-Process sekarang dapat digunakan dalam alur dengan perintah lain yang mendapatkan properti ComputerName dari objek.
  • ConvertTo-Json dan ConvertFrom-Json sekarang dapat menerima persyaratan dalam tanda kutip ganda, dan pesan kesalahannya sekarang dapat dilokalkan.
  • Get-Job sekarang mengembalikan pekerjaan terjadwal yang telah selesai, bahkan dalam sesi baru.
  • Masalah saat memasang dan melepas VHD menggunakan penyedia FileSystem di Windows PowerShell 4.0 telah diperbaiki. Windows PowerShell sekarang dapat mendeteksi drive baru saat dipasang dalam sesi yang sama.
  • Anda tidak perlu lagi memuat modul ScheduledJob atau Workflow secara eksplisit untuk bekerja dengan jenis pekerjaan mereka.
  • Peningkatan performa telah dilakukan pada proses impor alur kerja yang menentukan alur kerja berlapis; proses ini sekarang lebih cepat.

Fitur baru di Windows PowerShell 3.0

Windows PowerShell 3.0 menyertakan fitur baru berikut.

Alur Kerja Windows PowerShell

alur kerja Windows PowerShell membawa kekuatan Windows Workflow Foundation ke Windows PowerShell. Anda dapat menulis alur kerja di XAML atau dalam bahasa Windows PowerShell dan menjalankannya sama seperti Anda akan menjalankan cmdlet. Get-Command Cmdlet mendapatkan perintah alur kerja dan Get-Help cmdlet mendapatkan bantuan untuk alur kerja.

Alur kerja adalah urutan aktivitas manajemen multikomputer yang berjalan lama, dapat diulang, sering, dapat diparalelkan, dapat diinterupsi, ditangguhkan, dan dapat dimulai ulang. Alur kerja dapat dilanjutkan dari gangguan yang disengaja atau tidak disengaja, seperti pemadaman jaringan, mulai ulang Windows, atau kegagalan daya.

Alur kerja juga portabel; mereka dapat diekspor sebagai atau diimpor dari file XAML. Anda dapat menulis konfigurasi sesi kustom yang memungkinkan alur kerja atau aktivitas dalam alur kerja dijalankan oleh pengguna yang didelegasikan atau subordinat.

Berikut ini adalah manfaat Windows PowerShell Workflow

  • Otomatisasi tugas yang berurutan dan berjalan lama.
  • Pemantauan jarak jauh tugas jangka panjang. Status dan kemajuan aktivitas terlihat kapan saja.
  • Manajemen multikomputer. Jalankan tugas secara bersamaan sebagai alur kerja pada ratusan simpul terkelola. Windows PowerShell Workflow menyertakan pustaka bawaan parameter manajemen umum, seperti PSComputerName, yang mengaktifkan skenario manajemen multi-komputer.
  • Eksekusi tugas tunggal dari proses yang kompleks. Anda dapat menggabungkan skrip terkait yang mengimplementasikan seluruh skenario end-to-end ke dalam satu alur kerja.
  • Persistensi.: alur kerja disimpan (atau check-pointed) pada titik tertentu yang ditentukan oleh pembuatnya sehingga Anda dapat melanjutkan alur kerja dari tugas terakhir yang dipertahankan (atau titik pemeriksaan), alih-alih memulai ulang alur kerja dari awal.
  • Ketahanan. Pemulihan kegagalan otomatis. Alur kerja bertahan dari mulai ulang yang direncanakan dan tidak direncanakan. Anda dapat menangguhkan eksekusi alur kerja lalu melanjutkan alur kerja dari titik persistensi terakhir. Penulis alur kerja dapat menunjuk aktivitas tertentu untuk dijalankan kembali jika terjadi kegagalan pada satu atau beberapa simpul terkelola.
  • Kemampuan untuk memutuskan, menyambungkan kembali, dan menjalankan sesi yang terputus. Pengguna dapat menyambungkan dan memutuskan sambungan dari server alur kerja, tetapi alur kerja berjalan terus menerus. Anda dapat keluar dari komputer klien atau memulai ulang komputer klien dan memantau eksekusi alur kerja dari komputer lain tanpa mengganggu alur kerja.
  • Penjadwalan. Tugas alur kerja dapat dijadwalkan seperti cmdlet atau skrip Windows PowerShell.
  • Alur Kerja dan Pembatasan Koneksi. Eksekusi alur kerja dan koneksi ke simpul dapat dibatasi, sehingga memungkinkan skalabilitas dan skenario ketersediaan tinggi.

Windows PowerShell Web Access

Windows PowerShell Web Access adalah fitur Windows Server 2012 yang memungkinkan pengguna menjalankan perintah dan skrip Windows PowerShell di konsol berbasis web. Perangkat yang menggunakan konsol berbasis web tidak memerlukan Windows PowerShell, perangkat lunak manajemen jarak jauh, atau penginstalan plug-in browser. Semua yang diperlukan adalah gateway Windows PowerShell Web Access yang dikonfigurasi dengan benar dan browser perangkat klien yang mendukung JavaScript dan menerima cookie.

Untuk informasi selengkapnya, lihat Menyebarkan Windows PowerShell Web Access.

Fitur ISE Windows PowerShell Baru

Untuk Windows PowerShell 3.0, Windows PowerShell Integrated Scripting Environment (ISE) memiliki banyak fitur baru, termasuk IntelliSense, jendela Show-Command, Panel Konsol terpadu, cuplikan, pencocokan kurung kurawal, bagian expand-collapse, penyimpanan otomatis, daftar item terbaru, salinan kaya, salinan blok, dan dukungan penuh untuk menulis skrip Windows PowerShell Alur kerja. Untuk informasi selengkapnya, lihat about_Windows_PowerShell_ISE.

Dukungan untuk Microsoft .NET Framework 4

Windows PowerShell dibangun berdasarkan Common Language Runtime 4.0. Penulis cmdlet, skrip, dan alur kerja dapat menggunakan kelas Microsoft .NET Framework 4 baru di Windows PowerShell, dengan fitur yang mencakup Kompatibilitas dan Penyebaran Aplikasi, Kerangka Kerja Ekstensibilitas Terkelola, Komputasi Paralel, Jaringan, Windows Communication Foundation dan Windows Workflow Foundation.

Dukungan untuk Lingkungan Pra-instalan Windows

Windows PowerShell 3.0 adalah komponen opsional Windows Preinstallation Environment (Windows PE) 4.0 untuk Windows 8. Windows PE adalah sistem operasi minimal yang memulai komputer yang tidak memiliki sistem operasi dan menyiapkannya untuk penginstalan Windows. Pe Windows dapat digunakan untuk mempartisi dan memformat hard drive, menyalin citra disk ke komputer, dan memulai Penyetelan Windows dari berbagi jaringan. Windows PowerShell 3.0 dapat digunakan pada Windows PE untuk mengelola skenario penyebaran, diagnostik, dan pemulihan.

Sesi Terputus

Dimulai pada Windows PowerShell 3.0, sesi yang dikelola pengguna persisten ("PSSessions") yang Anda buat menggunakan cmdlet New-PSSession disimpan di komputer jarak jauh. Mereka tidak lagi bergantung pada sesi di mana mereka dibuat.

Anda sekarang dapat memutuskan sambungan dari sesi tanpa mengganggu perintah yang berjalan dalam sesi. Anda bisa menutup sesi dan mematikan komputer Anda. Nantinya, Anda dapat terhubung kembali ke sesi dari sesi yang berbeda pada komputer yang sama atau di komputer yang berbeda.

Parameter ComputerName cmdlet Get-PSSession sekarang mendapatkan semua sesi pengguna yang terhubung ke komputer, bahkan jika mereka dimulai dalam sesi yang berbeda di komputer yang berbeda. Anda dapat terhubung ke sesi, mendapatkan hasil perintah, memulai perintah baru, lalu memutuskan sambungan dari sesi.

Cmdlet baru telah ditambahkan untuk mendukung fitur Sesi Terputus, termasuk Disconnect-PSSessionparameter , , Connect-PSSessiondan Receive-PSSession, dan baru telah ditambahkan ke cmdlet yang mengelola PSSessions, seperti parameter InDisconnectedSession cmdlet Invoke-Command .

Fitur Sesi Terputus hanya didukung ketika komputer di ujung asal ("klien") dan mengakhiri ("server") koneksi berjalan Windows PowerShell 3.0.

Konektivitas Sesi yang Kuat

Windows PowerShell 3.0 mendeteksi kehilangan konektivitas yang tidak terduga antara klien dan server dan mencoba membangun kembali konektivitas dan melanjutkan eksekusi secara otomatis. Jika koneksi server klien tidak dapat diterbitkan kembali dalam waktu yang dialokasikan, pengguna akan diberi tahu dan sesi terputus. Selama upaya untuk terhubung kembali, Windows PowerShell memberikan umpan balik berkelanjutan kepada pengguna.

Jika sesi terputus dimulai menggunakan InvokeCommand, Windows PowerShell membuat pekerjaan untuk sesi yang terputus untuk mempermudah menyambungkan kembali dan melanjutkan eksekusi.

Fitur-fitur ini memberikan pengalaman jarak jauh yang lebih andal dan dapat dipulihkan dan memungkinkan pengguna untuk melakukan tugas jangka panjang yang memerlukan sesi yang kuat, seperti alur kerja.

Sistem Bantuan yang Dapat Diperbarui

Sekarang Anda dapat mengunduh file bantuan yang diperbarui untuk cmdlet dalam modul Anda. Update-Help Cmdlet mengidentifikasi file bantuan terbaru, mengunduhnya dari Internet, membongpasnya, memvalidasinya, dan menginstalnya di direktori khusus bahasa yang benar untuk modul.

Untuk menggunakan file bantuan yang diperbarui, cukup ketik Get-Help. Anda tidak perlu memulai ulang Windows atau Windows PowerShell. Untuk memperbarui bantuan untuk modul di direktori $pshome, mulai Windows PowerShell dengan opsi "Jalankan sebagai administrator".

Untuk mendukung pengguna yang tidak memiliki akses Internet dan pengguna di belakang firewall, cmdlet baru Save-Help mengunduh file bantuan ke direktori sistem file, seperti berbagi file. Pengguna kemudian dapat menggunakan Update-Help cmdlet untuk mendapatkan file bantuan yang diperbarui dari berbagi file.

Anda dapat menggunakan Update-Help cmdlet untuk memperbarui file bantuan untuk semua atau modul tertentu di semua budaya UI yang didukung. Anda bahkan dapat menempatkan Update-Help perintah di profil Windows PowerShell Anda. Secara default, Windows PowerShell mengunduh file bantuan untuk modul tidak lebih dari sekali setiap hari.

Windows 8 dan modul Windows Server 2012 tidak menyertakan file bantuan. Untuk mengunduh file bantuan terbaru, ketik Update-Help. Untuk informasi selengkapnya, ketik Get-Help (tanpa parameter) atau lihat about_Updatable_Help.

Ketika file bantuan untuk cmdlet tidak diinstal di komputer, Get-Help cmdlet sekarang menampilkan bantuan yang dihasilkan secara otomatis. Bantuan yang dihasilkan secara otomatis mencakup sintaks perintah dan instruksi untuk menggunakan Update-Help cmdlet untuk mengunduh file bantuan.

Setiap penulis modul dapat mendukung Bantuan yang Dapat Diperbarui untuk modul mereka. Anda dapat menyertakan file bantuan dalam modul dan menggunakan Bantuan yang Dapat Diperbarui untuk memperbaruinya atau menghilangkan file bantuan dan menggunakan Bantuan yang Dapat Diperbarui untuk menginstalnya. Untuk informasi selengkapnya tentang mendukung Bantuan yang Dapat Diperbarui, lihat Mendukung Bantuan yang Dapat Diperbarui.

Bantuan Online yang Disempurnakan

Windows PowerShell bantuan online adalah sumber daya yang berharga untuk semua pengguna, tetapi sangat penting bagi pengguna yang tidak atau tidak dapat menginstal file bantuan yang diperbarui.

Untuk mendapatkan bantuan online untuk cmdlet Windows PowerShell apa pun, ketik:

Get-Help <cmdlet-name> -Online

Windows PowerShell membuka versi online topik bantuan di browser Internet default Anda.

Fitur Get-Help -Online di Windows PowerShell 3.0 sekarang bahkan lebih kuat karena berfungsi bahkan ketika file bantuan untuk cmdlet tidak diinstal di komputer. Fitur Get-Help -Online mendapatkan URI untuk topik bantuan online dari properti HelpUri cmdlet dan fungsi tingkat lanjut.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

Mulai Windows PowerShell 3.0, penulis cmdlet C# dapat mengisi properti HelpUri dengan membuat atribut HelpUri pada kelas cmdlet. Penulis fungsi tingkat lanjut dapat menentukan properti HelpUri pada atribut CmdletBinding . Nilai properti HelpUri harus dimulai dengan "http" atau "https".

Anda juga dapat menyertakan nilai HelpUri di tautan terkait pertama dari file bantuan cmdlet berbasis XML atau . Arahan tautan bantuan berbasis komentar dalam fungsi.

Untuk informasi selengkapnya tentang mendukung bantuan online, lihat Bantuan Online Pendukung.

Integrasi CIM

Windows PowerShell 3.0 mencakup dukungan untuk Common Information Model (CIM), yang menyediakan definisi umum informasi manajemen untuk sistem, jaringan, aplikasi, dan layanan, yang memungkinkan mereka bertukar informasi manajemen antara sistem heterogen. Dukungan untuk CIM di Windows PowerShell 3.0, termasuk kemampuan untuk menulis cmdlet Windows PowerShell berdasarkan kelas CIM baru atau yang sudah ada, perintah berdasarkan file XML definisi cmdlet, dukungan untuk CIM .NET Framework. API, cmdlet manajemen CIM, dan penyedia WMI 2.0.

File Konfigurasi Sesi

Mulai dari Windows PowerShell 3.0, Anda dapat merancang konfigurasi sesi kustom menggunakan file. File konfigurasi sesi baru memungkinkan Anda menentukan lingkungan sesi yang menggunakan konfigurasi sesi, termasuk modul, skrip, dan file format mana yang dimuat ke dalam sesi, cmdlet dan elemen bahasa mana yang dapat digunakan pengguna, modul dan skrip mana yang dapat mereka jalankan, dan variabel mana yang dapat mereka lihat.

Anda dapat merancang sesi di mana pengguna hanya dapat menjalankan cmdlet dari satu modul tertentu, atau sesi di mana pengguna memiliki bahasa lengkap, akses ke semua modul, dan akses ke skrip yang melakukan tugas tingkat lanjut.

Dalam versi Windows PowerShell sebelumnya, kontrol pada tingkat ini hanya tersedia untuk mereka yang dapat menulis program C# atau skrip start-up yang kompleks. Sekarang, setiap anggota grup Administrator di komputer dapat menyesuaikan konfigurasi sesi menggunakan file konfigurasi.

Untuk membuat file konfigurasi sesi, gunakan New-PSSessionConfigurationFile cmdlet . Untuk menerapkan file konfigurasi sesi ke konfigurasi sesi, gunakan Register-PSSessionConfiguration cmdlet 'Set-PSSessionConfiguration' atau .

Untuk informasi selengkapnya, lihat about_Session_Configuration_Files dan New-PSSessionConfigurationFile.

Pekerjaan Terjadwal dan Integrasi Penjadwal Tugas

Sekarang Anda dapat menjadwalkan Windows PowerShell pekerjaan latar belakang dan mengelolanya di Windows PowerShell dan di Penjadwal Tugas.

Windows PowerShell pekerjaan terjadwal adalah hibrida yang berguna dari pekerjaan latar belakang Windows PowerShell dan tugas Penjadwal Tugas.

Seperti Windows PowerShell pekerjaan latar belakang, pekerjaan terjadwal berjalan secara asinkron di latar belakang. Instans pekerjaan terjadwal yang telah selesai dapat dikelola menggunakan cmdlet pekerjaan, seperti Start-Job dan Get-Job.

Seperti tugas Penjadwal Tugas, Anda dapat menjalankan pekerjaan terjadwal pada jadwal satu kali atau berulang, atau sebagai respons terhadap tindakan atau peristiwa. Anda dapat melihat dan mengelola pekerjaan terjadwal di Penjadwal Tugas, mengaktifkan dan menonaktifkannya sesuai kebutuhan, menjalankannya, atau menggunakannya sebagai templat, dan mengatur kondisi di mana pekerjaan dimulai.

Selain itu, pekerjaan terjadwal dilengkapi dengan serangkaian cmdlet yang disesuaikan untuk mengelolanya. Cmdlet memungkinkan Anda membuat, mengedit, mengelola, menonaktifkan, dan mengaktifkan kembali pekerjaan terjadwal, membuat pemicu pekerjaan terjadwal, dan mengatur opsi pekerjaan terjadwal.

Untuk informasi selengkapnya tentang pekerjaan terjadwal, lihat about_Scheduled_Jobs.

Penyempurnaan Bahasa Windows PowerShell

Windows PowerShell 3.0 mencakup banyak fitur yang dirancang untuk membuat bahasanya lebih sederhana, lebih mudah digunakan, dan untuk menghindari kesalahan umum. Peningkatan termasuk enumerasi properti, jumlah dan properti panjang pada objek skalar, operator pengalihan baru, pengubah cakupan $Using, variabel otomatis PSItem, pemformatan skrip fleksibel, atribut variabel, argumen atribut yang disederhanakan, nama perintah numerik, operator Stop-Parsing, percikan array yang ditingkatkan, operator bit baru, kamus yang diurutkan, transmisi PSCustomObject, dan bantuan berbasis komentar yang ditingkatkan.

Cmdlet Inti Baru

Cmdlet baru ditambahkan ke penginstalan Windows PowerShell, termasuk cmdlet untuk mengelola pekerjaan terjadwal, sesi terputus, integrasi CIM, dan Sistem Bantuan yang Dapat Diperbarui.

  • CimCmdlets
    • Get-CimAssociatedInstance
    • Get-CimClass
    • Get-CimInstance
    • Get-CimSession
    • Invoke-CimMethod
    • New-CimInstance
    • New-CimSession
    • New-CimSessionOption
    • Register-CimIndicationEvent
    • Remove-CimInstance
    • Remove-CimSession
    • Set-CimInstance
  • Microsoft.PowerShell.Core
    • Connect-PSSession
    • Disconnect-PSSession
    • New-PSSessionConfigurationFile
    • New-PSTransportOption
    • Receive-PSSession
    • Resume-Job
    • Save-Help
    • Suspend-Job
    • Test-PSSessionConfigurationFile
    • Update-Help
  • Microsoft.PowerShell.Diagnostics
    • New-WinEvent
  • Microsoft.PowerShell.Management
    • Get-ControlPanelItem
    • Rename-Computer
    • Show-ControlPanelItem
  • Microsoft.PowerShell.Utility
    • ConvertFrom-Json
    • ConvertTo-Json
    • Get-TypeData
    • Invoke-RestMethod
    • Invoke-WebRequest
    • Remove-TypeData
    • Show-Command
    • Unblock-File
  • PSScheduledJob
    • Add-JobTrigger
    • Disable-JobTrigger
    • Disable-ScheduledJob
    • Enable-JobTrigger
    • Enable-ScheduledJob
    • Get-JobTrigger
    • Get-ScheduledJob
    • Get-ScheduledJobOption
    • New-JobTrigger
    • New-ScheduledJobOption
    • Register-ScheduledJob
    • Set-JobTrigger
    • Set-ScheduledJob
    • Set-ScheduledJobOption
    • Unregister-ScheduledJob
  • PSWorkflow
    • New-PSWorkflowExecutionOption
    • New-PSWorkflowSession
  • PSWorkflowUtility
    • Invoke-AsWorkflow
  • ISE
    • Get-IseSnippet
    • Import-IseSnippet
    • New-IseSnippet

Penyempurnaan Cmdlet dan Penyedia Inti yang Ada

Windows PowerShell 3.0 menyertakan fitur baru untuk cmdlet yang ada termasuk sintaks yang disederhanakan, dan parameter baru untuk cmdlet berikut: Cmdlet komputer, cmdlet CSV, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, dan WMI cmdlets.

Penyedia Windows PowerShell juga ditingkatkan secara signifikan, termasuk dukungan penyedia Sertifikat untuk mengelola sertifikat Secure Socket Layer (SSL) untuk hosting web, dukungan untuk kredensial, drive jaringan persisten, dan aliran data alternatif dalam drive sistem file.

Impor dan penemuan modul jarak jauh

Windows PowerShell 3.0 memperluas kemampuan penemuan modul, impor, dan jarak jauh implisit pada komputer jarak jauh. Cmdlet Modul mendapatkan modul di komputer jarak jauh dan mengimpor modul ke komputer jarak jauh atau lokal menggunakan Windows PowerShell jarak jauh. Dukungan sesi CIM baru memungkinkan Anda menggunakan CIM dan WMI untuk mengelola komputer non-Windows dengan mengimpor perintah ke komputer lokal yang berjalan secara implisit di komputer jarak jauh.

Untuk informasi selengkapnya, lihat topik bantuan untuk Get-Module cmdlet dan Import-Module .

Penyelesaian Tab yang Disempurnakan

Penyelesaian tab di konsol Windows PowerShell sekarang melengkapi nama cmdlet, parameter, nilai parameter, enumerasi, jenis .NET Frameworks, objek COM, direktori tersembunyi, dan banyak lagi. Fitur penyelesaian tab sepenuhnya ditulis ulang berdasarkan parser baru dan pohon sintaks abstrak untuk mendukung lebih banyak skenario, termasuk pohon penguraian dalam memori dan penyelesaian tab garis tengah.

Pemuatan Otomatis Modul

Get-Command Cmdlet sekarang mendapatkan semua cmdlet dan fungsi dari semua modul yang diinstal di komputer, bahkan jika modul tidak diimpor ke sesi saat ini.

Ketika Anda mendapatkan cmdlet yang Anda butuhkan, Anda dapat menggunakannya segera tanpa mengimpor modul apa pun. Windows PowerShell modul sekarang diimpor secara otomatis saat Anda menggunakan cmdlet apa pun dalam modul. Anda tidak perlu lagi mencari modul dan mengimpornya untuk menggunakan cmdletnya.

Impor otomatis modul dipicu menggunakan cmdlet dalam perintah, berjalan Get-Command untuk cmdlet tanpa kartubebas, atau berjalan Get-Help untuk cmdlet tanpa wildcard.

Anda dapat mengaktifkan, menonaktifkan, dan mengonfigurasi impor otomatis modul menggunakan variabel preferensi $PSModuleAutoLoadingPreference .

Untuk informasi selengkapnya, lihat about_Modules, about_Preference_Variables, dan topik bantuan untuk Get-Command cmdlet dan Import-Module .

Peningkatan Pengalaman Modul

Windows PowerShell 3.0 menghadirkan dukungan fitur lanjutan ke modul, termasuk fitur baru berikut.

  1. Pengelogan modul untuk modul individual (LogPipelineExecutionDetails) dan pengaturan Kebijakan Grup "Aktifkan Pengelogan Modul" yang baru
  2. Objek modul yang diperluas yang mengekspos nilai dari manifes modul
  3. Properti Modul ExportedCommands baru, termasuk modul berlapis, yang menggabungkan perintah dari semua jenis
  4. Peningkatan penemuan modul yang tersedia (tidak diimpor), termasuk mengizinkan parameter Path dan ListAvailable dalam perintah yang sama
  5. Kunci DefaultCommandPrefix baru dalam manifes modul yang menghindari konflik nama tanpa mengubah kode modul.
  6. Persyaratan modul yang ditingkatkan, termasuk modul yang diperlukan sepenuhnya memenuhi syarat dengan versi dan GUID dan impor otomatis modul yang diperlukan
  7. Pengoperasian cmdlet yang New-ModuleManifest lebih tenang dan efisien.
  8. Parameter Modul baru untuk #Requires
  9. Cmdlet yang disempurnakan Import-Module dengan parameter MinimumVersion dan RequiredVersion .

Penemuan Perintah yang Disederhanakan

Anda tidak perlu lagi mengimpor semua modul untuk menemukan perintah yang tersedia untuk sesi Anda. Dalam Windows PowerShell 3.0, Get-Command cmdlet mendapatkan semua perintah dari semua modul yang diinstal. Dan, jika Anda menggunakan perintah, modul yang mengekspor perintah secara otomatis diimpor ke sesi Anda.

Cmdlet baru Show-Command dirancang khusus untuk pemula. Anda dapat mencari perintah di jendela. Anda dapat melihat semua perintah atau memfilter menurut modul, mengimpor modul dengan mengklik tombol, menggunakan kotak teks dan daftar drop-down untuk membuat perintah yang valid, lalu menyalin atau menjalankan perintah tanpa pernah meninggalkan jendela.

Peningkatan Pengelogan, Diagnostik, dan Dukungan Kebijakan Grup

Windows PowerShell 3.0 meningkatkan dukungan pengelogan dan pelacakan untuk perintah dan modul dengan dukungan untuk Penelusuran Peristiwa di log Windows (ETW), properti modul LogPipelineExecutionDetails yang dapat diedit, dan pengaturan Kebijakan Grup "Aktifkan Pengelogan Modul". Anda sekarang bisa mendapatkan nilai parameter dari detail log dengan menampilkan properti log.

Peningkatan Pemformatan dan Output

Peningkatan pemformatan dan output baru meningkatkan efisiensi semua pengguna Windows PowerShell. Peningkatan termasuk pengalihan output untuk semua aliran, cmdlet Update-Type yang ditingkatkan yang menambahkan jenis secara dinamis tanpa file Format.ps1xml, pembungkus kata dalam output, properti pemformatan default objek kustom, jenis PSCustomObject , pemformatan yang ditingkatkan untuk objek WMI dan objek heterogen, dan dukungan untuk menemukan metode kelebihan beban.

Pengalaman Host Konsol yang Disempurnakan

Program host konsol Windows PowerShell memiliki fitur baru di Windows PowerShell 3.0 termasuk apartemen berulir tunggal secara default. Opsi "Jalankan dengan PowerShell" baru di File Explorer memungkinkan Anda menjalankan skrip dalam sesi yang tidak dibatasi hanya dengan mengklik kanan. Logika peluncuran host konsol baru dimulai Windows PowerShell lebih cepat dan font baru memungkinkan Anda untuk mempersonalisasi pengalaman jendela konsol yang familier.

API Cmdlet dan Hosting Baru

API Cmdlet dan API Hosting baru mencakup API pohon sintaks tingkat lanjut (AST) publik, dan API untuk halaman alur, alur berlapis, penyelesaian tab kumpulan runspace, Windows RT, atribut cmdlet Usang, dan properti Verb dan Noun dari objek FunctionInfo.

Peningkatan Performa

Peningkatan performa yang signifikan dalam Windows PowerShell berasal dari pengurai bahasa baru, yang dibangun di atas Dynamic Runtime Language (DLR) di .NET Framework 4., bersama dengan kompilasi skrip runtime, peningkatan keandalan mesin, dan perubahan pada algoritma Get-ChildItem yang meningkatkan performanya, terutama saat mencari berbagi jaringan.

Dukungan RunAs dan Shared Host

Windows PowerShell 3.0 menyertakan dukungan untuk fitur RunAs dan Shared Host.

Fitur RunAs, yang dirancang untuk alur kerja Windows PowerShell, memungkinkan pengguna konfigurasi sesi membuat sesi yang berjalan dengan izin akun pengguna bersama. Ini memungkinkan pengguna yang kurang istimewa untuk menjalankan perintah dan skrip tertentu dengan izin administrator, dan mengurangi kebutuhan untuk menambahkan pengguna yang kurang senior ke grup Administrator.

Fitur SharedHost memungkinkan beberapa pengguna di beberapa komputer untuk terhubung ke sesi alur kerja secara bersamaan dan memantau kemajuan alur kerja. Pengguna dapat memulai alur kerja pada satu komputer lalu menyambungkan ke sesi alur kerja di komputer lain tanpa memutuskan sambungan sesi dari komputer asli. Pengguna harus memiliki izin yang sama dan menggunakan konfigurasi sesi yang sama. Untuk informasi selengkapnya, lihat "Menjalankan Alur Kerja Windows PowerShell" di Memulai Alur Kerja Windows PowerShell.

Peningkatan Penanganan Karakter Khusus

Untuk meningkatkan kemampuan Windows PowerShell 3.0 untuk menafsirkan dan menangani karakter khusus dengan benar, parameter LiteralPath, yang menangani karakter khusus di jalur, berlaku pada hampir semua cmdlet yang memiliki parameter Path, termasuk cmdlet dan Save-Help baruUpdate-Help. Pengurai juga mencakup logika khusus untuk meningkatkan penanganan karakter backtick (`) dan kurung siku dalam nama file dan jalur.

Lihat juga