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.
Windows PowerShell 5.0 menyertakan fitur baru yang 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 dengan versi sebelumnya. 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 Windows Server 2016 Technical Preview 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 Kerangka Kerja Manajemen Windows 5.0.
Dalam topik ini
- Pembaruan DSC Windows PowerShell 4.0 dalam KB 3000850
- Fitur baru di Windows PowerShell 5.0
- Fitur baru di Windows PowerShell 4.0
- Fitur baru di Windows PowerShell 3.0
Pembaruan Windows PowerShell 4.0 dalam daftar pembaruan November 2014 (KB 3000850)
Banyak pembaruan dan peningkatan pada Konfigurasi Status yang Diinginkan (DSC) Windows PowerShell di Windows PowerShell 4.0 tersedia dalam daftar 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 menjalankan Get-Hotfix -Id KB3000850 di Windows PowerShell.
Pembaruan untuk cmdlet yang ada di modul PSDesiredStateConfiguration
- Get-DscResource lebih cepat (terutama di ISE).
- Start-DscConfiguration memiliki parameter baru, -UseExisting, yang menerapkan kembali konfigurasi terakhir yang diterapkan.
- Start-DscConfiguration -Force telah diperbaiki.
- Get-DscLocalConfigurationManager menampilkan informasi yang lebih berguna tentang status mesin.
- Test-DscConfiguration sekarang mengembalikan nama komputer bersama dengan True atau False.
- New-DscChecksum sekarang mendukung jalur UNC.
Cmdlet baru di modul PSDesiredStateConfiguration
- Update-DscConfiguration: Melakukan pemeriksaan server tarik sesuai permintaan.
- Stop-DscConfiguration: Menghentikan konfigurasi yang sudah berjalan.
- Remove-DscConfigurationDocument: Memungkinkan Anda menghapus dokumen konfigurasi dalam berbagai tahap (tertunda, sebelumnya, atau saat ini).
Penyempurnaan bahasa
- DependsOn sekarang mendukung sumber daya komposit.
- DependsOn sekarang mendukung angka dalam nama instans sumber daya.
- Ekspresi simpul yang mengevaluasi untuk mengosongkan tidak lagi melemparkan kesalahan.
- Kesalahan yang terjadi jika ekspresi simpul dievaluasi menjadi kosong telah diperbaiki.
- Konfigurasi pemanggilan konfigurasi sekarang berfungsi di konsol Windows PowerShell.
Peningkatan mode tarik
- Mode tarik sekarang mendukung semua file ZIP.
- AllowModuleOverwrite sekarang berfungsi dengan benar.
Peningkatan ketahanan
- New DebugMode memungkinkan Anda memuat ulang modul sumber daya.
- Jika terjadi kegagalan konfigurasi, file pending.mof tidak dihapus.
- Local Configuration Manager (LCM) sekarang lebih tangguh ketika pengaturan metakonfigurasi telah rusak.
Peningkatan diagnostik
- Peringatan ditampilkan saat LCM mengatur pengatur waktu ke pengaturan yang berbeda dari yang telah 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 secara otomatis melanjutkan konfigurasi setelah node 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).
- Sumber daya LocalConfigurationManager memiliki properti baru, ActionAfterReboot.
Peningkatan 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 saat berada di 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.
- Sumber daya Paket
Fitur baru di Windows PowerShell 5.0
- Fitur baru di Windows PowerShell
- Fitur baru di Windows PowerShell Konfigurasi Status yang Diinginkan
- Fitur baru di Windows PowerShell ISE
- Fitur baru di Windows PowerShell Web Services
- Perbaikan bug penting di Windows PowerShell 5.0
Fitur baru di Windows PowerShell
Mulai 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-fitur berikut mendukung aliran informasi.
- Cmdlet Write-Information baru yang memungkinkan Anda menentukan cara 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 sebagai default. InformationVariable menentukan string sebagai nama variabel yang Anda inginkan untuk menyimpan data Write-Host dari perintah.
- 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 300 milidetik 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 -Example.
Modul baru, Microsoft.PowerShell.Archive, menyertakan cmdlet yang memungkinkan Anda mengompres 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 pengelola atau multiplexer pengelola 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 dalam metode kelas.
New-Item, Remove-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 turunan dalam folder saat ini, dan semua folder dalam folder turunan.
Copy-Item sekarang memungkinkan Anda menyalin file atau folder dari satu sesi Windows PowerShell ke sesi Windows lainnya, yang berarti 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.
Transkripsi Windows PowerShell 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 Aktifkan Kebijakan Grup Transkripsi PowerShell , yang ditemukan di Templat Administratif/Komponen Windows/Windows PowerShell.
Fitur pelacakan skrip terperinci baru memungkinkan Anda mengaktifkan pelacakan dan analisis terperinci penggunaan 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 didokumentasikan oleh RFC5652. Cmdlet Get-CmsMessage, Protect-CmsMessage, dan Unprotect-CmsMessage telah ditambahkan ke modul Microsoft.PowerShell.Security .
Cmdlet baru di 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 penelusuran kesalahan pada runspace. Untuk men-debug runspace arbitrer (yaitu, runspace yang bukan runspace default untuk konsol Windows PowerShell atau sesi Windows PowerShell ISE) Windows PowerShell memungkinkan Anda mengatur titik henti dalam skrip, dan telah menambahkan titik henti menghentikan skrip agar tidak 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.
Get-Clipboard dan cmdlet 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 mengosongkan Recycle Bin 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 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 .NET Framework Guid untuk menghasilkan GUID, berguna saat Anda menulis skrip atau sumber daya DSC.
Karena informasi versi file dapat menyesatkan, terutama setelah file ditambal, 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* -ForceCmdlet 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, ID proses tertentu, lalu jalankan Get-Runspace untuk mengembalikan runspace aktif dalam proses. Jalankan Exit-PSHostProcess untuk melepaskan diri dari proses setelah 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. Anda sekarang dapat menekan Ctrl+Break untuk memasukkan debugger dalam skrip yang sedang berjalan, baik di sesi lokal maupun jarak jauh, dan dalam skrip alur kerja.
Cmdlet Debug-Job telah ditambahkan ke modul Microsoft.PowerShell.Core untuk men-debug skrip pekerjaan yang sedang berjalan untuk Alur Kerja PowerShell Windows, latar belakang, dan pekerjaan yang berjalan di 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. Saat 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 satu modul Windows PowerShell 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 Version baru telah ditambahkan ke kelas CommandInfo. Get-Command menampilkan perintah dari beberapa versi modul yang sama. Properti Version juga merupakan bagian dari kelas turunan CmdletInfo: CmdletInfo dan ApplicationInfo.
Get-Command memiliki parameter baru, -ShowCommandInfo, yang mengembalikan informasi ShowCommand sebagai PSObjects. Ini adalah fungsionalitas yang sangat berguna saat Show-Command dijalankan di Windows PowerShell ISE menggunakan jarak jauh Windows PowerShell. Parameter -ShowCommandInfo menggantikan fungsi Get-SerializedCommand yang ada di modul Microsoft.PowerShell.Utility, tetapi skrip Get-SerializedCommand masih tersedia untuk mendukung skrip tingkat bawah.
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 Application Base dari kunci registri PowerShellEngine: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase). Basis Aplikasi. Mulai 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, seperti di Windows PowerShell ISE.
Modul NetworkSwitch baru berisi cmdlet yang memungkinkan Anda menerapkan konfigurasi port sakelar switch, LAN virtual (VLAN), dan dasar Layer 2 ke sakelar jaringan bersertifikat logo Windows Server 2012 R2.
Parameter FullyQualifiedName telah ditambahkan ke cmdlet Import-Module dan Remove-Module, untuk mendukung penyimpanan beberapa versi dari satu modul.
Save-Help, Update-Help, Import-PSSession, Export-PSSession, dan Get-Command memiliki parameter baru, FullyQualifiedModule, jenis ModuleSpecification. Tambahkan parameter ini untuk menentukan modul dengan nama yang memenuhi syarat penuh.
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 Konfigurasi Status yang Diinginkan
- Penyempurnaan bahasa Windows PowerShell memungkinkan Anda menentukan sumber daya Konfigurasi Status yang Diinginkan (DSC) Windows PowerShell 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 tidak diperlukan file MOF atau subfolder DSCResource di folder modul. 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 atau perangkat target tempat Anda ingin perintah bekerja 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 kaya tidak hanya dicatat dalam log peristiwa, tetapi juga dapat dikirim ke lokasi pusat untuk analisis nanti. Anda dapat menggunakan lokasi pusat ini untuk menyimpan kesalahan konfigurasi DSC yang telah terjadi untuk server mana pun di lingkungannya. Setelah server laporan ditentukan dalam meta-konfigurasi, semua kesalahan dikirim ke server laporan, dan kemudian disimpan dalam database. Anda dapat menyiapkan fungsionalitas ini terlepas dari apakah simpul target dikonfigurasi untuk menarik konfigurasi dari server tarik atau tidak.
- Peningkatan pada Windows PowerShell ISE memudahkan penulisan sumber daya DSC. Anda sekarang dapat melakukan hal berikut.
- Cantumkan semua sumber daya DSC dalam konfigurasi atau blok simpul dengan memasukkan Ctrl+Spasi pada baris kosong di dalam blok.
- Penyelesaian otomatis pada properti sumber daya dari jenis pencacahan .
- Penyelesaian otomatis pada properti DependsOn sumber daya DSC, berdasarkan instans sumber daya lain dalam konfigurasi.
- Peningkatan penyelesaian tab nilai properti sumber daya.
- Pengguna sekarang dapat menjalankan sumber daya di bawah kumpulan kredensial tertentu dengan menambahkan atribut PSDscRunAsCredential ke blok Node. Misalnya, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Fungsionalitas ini berguna untuk membuat konfigurasi yang menjalankan Windows Installer dan 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-konfigurasi, yang digunakan untuk mengonfigurasi Manajer Konfigurasi Lokal DSC. Atribut ini membatasi konfigurasi untuk hanya berisi item yang mengonfigurasi Manajer Konfigurasi 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 di Windows PowerShell 5.0. Anda dapat mengirimkan dokumen konfigurasi ke simpul dalam fragmen. Agar simpul dapat menerima beberapa fragmen dokumen konfigurasi, Manajer Konfigurasi Lokal simpul harus diatur terlebih dahulu untuk menentukan fragmen yang diharapkan
- Sinkronisasi lintas komputer adalah hal 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 eksekusi konfigurasi, tanpa orkestrasi eksternal. Sumber daya ini menyediakan sinkronisasi node-to-node menggunakan koneksi CIM melalui protokol WS-Man. Konfigurasi dapat menunggu status sumber daya spesifik komputer lain berubah.
- Just Enough Administration (JEA), fitur keamanan delegasi baru, memanfaatkan runspace terbatas DSC dan Windows PowerShell untuk membantu mengamankan perusahaan dari kehilangan data atau kompromi oleh karyawan, baik yang disengaja maupun tidak disengaja. Untuk informasi selengkapnya tentang JEA, termasuk tempat Anda dapat mengunduh sumber daya xJEA DSC, lihat Administrasi yang Cukup.
- 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 yang terakhir, atau dari semua konfigurasi.
- Cmdlet Compare-DscConfiguration baru membandingkan konfigurasi yang ditentukan dengan status aktual dari 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 sebenarnya tidak cocok dengan konfigurasi yang diinginkan.
- Cmdlet Update-DscConfiguration baru memaksa konfigurasi untuk diproses. Jika Manajer Konfigurasi Lokal dalam mode tarik, cmdlet mendapatkan konfigurasi dari server tarik 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 file Windows PowerShell yang disimpan pada opsi instalasi Server Core Windows Server, di mana Windows PowerShell ISE tidak dapat berjalan.
- Cmdlet Start-Transcript sekarang didukung di Windows PowerShell ISE.
- Anda sekarang dapat men-debug skrip jarak jauh di Windows PowerShell ISE.
- Perintah menu baru, Break All (Ctrl+B), masuk ke debugger untuk skrip lokal dan yang berjalan dari jarak jauh.
Fitur baru di Windows PowerShell Web Services (Ekstensi Management OData IIS)
- Mulai Windows PowerShell 5.0, Anda dapat menghasilkan sekumpulan 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 menyertakan implementasi COM baru, yang menawarkan peningkatan performa yang signifikan saat 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 ms.
Fitur baru di Windows PowerShell 4.0
Windows PowerShell 4.0 kompatibel dengan versi sebelumnya. 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 Kerangka Kerja Manajemen Windows 4.0. Pastikan untuk membaca detail unduhan, dan memenuhi semua persyaratan sistem, sebelum Anda menginstal Kerangka Kerja Manajemen Windows 4.0.
- Fitur baru di Windows PowerShell
- Fitur baru di Windows PowerShell Integrated Scripting Environment (ISE)
- Fitur baru di Alur Kerja Windows PowerShell
- Fitur baru di Windows PowerShell Web Services
- Fitur baru di Windows PowerShell Web Access
- Perbaikan bug penting di Windows PowerShell 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 Memulai dengan Konfigurasi Status yang Diinginkan Windows PowerShell.
- Simpan-Bantuan sekarang memungkinkan Anda menyimpan bantuan untuk modul yang diinstal di komputer jarak jauh. Anda dapat menggunakan Save-Help untuk mengunduh modul Bantuan 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 di tingkat skrip dari baris perintah Windows PowerShell atau Windows PowerShell ISE. Skrip Windows PowerShell, termasuk alur kerja skrip, sekarang dapat di-debug melalui sesi jarak jauh. Sesi penelusuran kesalahan jarak jauh dipertahankan melalui sesi jarak jauh Windows PowerShell yang terputus dan kemudian disambungkan kembali.
- Parameter RunNow untuk Register-ScheduledJob dan Set-ScheduledJob menghilangkan kebutuhan untuk mengatur tanggal dan waktu mulai langsung untuk pekerjaan menggunakan parameter Trigger .
- Invoke-RestMethod dan Invoke-WebRequest sekarang memungkinkan Anda mengatur semua header menggunakan parameter Headers. Meskipun parameter ini selalu ada, itu adalah salah satu dari beberapa parameter untuk cmdlet web yang menghasilkan 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 opsional, GUID-nya.
- Pengaturan kebijakan eksekusi default pada Windows Server 2012 R2 adalah RemoteSigned. Di Windows 8.1, tidak ada perubahan dalam pengaturan default.
- Dimulai di Windows PowerShell 4.0, pemanggilan metode menggunakan nama metode dinamis didukung. Anda dapat menggunakan variabel untuk menyimpan nama metode, lalu memanggil metode secara dinamis dengan memanggil variabel.
- Pekerjaan alur kerja asinkron tidak lagi dihapus ketika periode batas waktu 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 untuk menentukan nilai TimeSpan.MaxValue untuk parameter RepetitionDuration untuk menjalankan pekerjaan terjadwal berulang kali untuk jangka waktu 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 piped (atau bagian dari perintah piped) 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 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.
- Di Windows PowerShell 4.0, jika modul menggunakan kunci DefaultCommandPrefix dalam manifesnya, atau jika pengguna mengimpor modul dengan parameter Prefix , 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.
-
Perilaku operator where() 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 blok skrip; 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 berulang, seperti yang digunakan oleh System Center Orchestrator; yaitu, alur yang menjalankan perintah hanya dari kiri ke kanan, bukan berjalan diselingi 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 Activity, Activity[] (atau merupakan kumpulan aktivitas generik) dan pengguna telah menyediakan blok skrip sebagai argumen, maka Alur Kerja Windows PowerShell mengonversi blok skrip ke XAML, seperti kompilasi skrip-ke-alur kerja Windows PowerShell normal.
- Setelah crash, Alur Kerja Windows PowerShell secara otomatis terhubung kembali ke simpul terkelola.
- Anda sekarang dapat membatasi pernyataan aktivitas Foreach -Parallel menggunakan properti ThrottleLimit .
- Parameter umum ErrorAction memiliki nilai valid baru, Suspend, yang khusus untuk alur kerja.
- Titik akhir alur kerja sekarang ditutup secara otomatis 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 terjadi kesalahan di Windows PowerShell Web Services (PSWS, juga disebut Ekstensi Management OData IIS), saat cmdlet sedang 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 menerapkan penggunaan versi API tertentu. Setiap kali ketidakcocokan versi terjadi antara klien dan server, kesalahan ditampilkan ke klien dan server.
- Pengelolaan 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 transfernya signifikan, dan lebih baik mentransfer data biner tanpa pengkodean. PSWS menggunakan aliran sumber daya bernama untuk mentransfer tanpa pengkodean. 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 mengirimkan permintaan HTTP POST ke URI yang ditentukan untuk tindakan tersebut. Parameter untuk tindakan ditentukan dalam isi permintaan POST.
- Agar konsisten dengan pedoman Windows Azure, semua URL harus disederhanakan. Perubahan yang disertakan dalam Kunci Sebagai Segmen memungkinkan kunci tunggal direpresentasikan sebagai segmen. Perhatikan bahwa referensi yang menggunakan beberapa nilai kunci memerlukan nilai yang dipisahkan koma dalam notasi tanda kurung, seperti sebelumnya.
- Sebelum rilis PSWS ini, satu-satunya cara untuk melakukan operasi Buat, Perbarui, atau Hapus adalah dengan memanggil Posting, Put, atau Hapus pada sumber daya tingkat atas. Baru dalam rilis PSWS ini, operasi Sumber Daya Terkandung memungkinkan pengguna mencapai hasil yang sama sambil menjangkau sumber daya yang sama secara tidak 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 di 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 di halaman masuk dalam file bernama web.config. Anda dapat menggunakan file web.config untuk mengonfigurasi semua pengaturan koneksi opsional kecuali untuk kumpulan kredensial kedua atau alternatif.
- Di Windows Server 2012 R2, Anda dapat mengelola aturan otorisasi dari jarak jauh untuk Windows PowerShell Web Access. 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.
- Anda sekarang 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.
- Anda sekarang dapat melihat metode GetType pada objek yang dideserialisasi.
- Pernyataan #Requires sekarang memungkinkan pengguna memerlukan hak akses Administrator, jika diperlukan.
- Cmdlet Import-Csv sekarang mengabaikan baris kosong.
- Masalah di mana Windows PowerShell ISE 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 tabel hash, meskipun tabel hash 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 istilah dalam tanda kutip ganda, dan pesan kesalahannya sekarang dapat dilokalkan.
- Get-Job sekarang mengembalikan pekerjaan terjadwal yang telah selesai, bahkan di sesi baru.
- Masalah dengan pemasangan dan pelepasan 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 mengimpor alur kerja yang menentukan alur kerja bersarang; Proses ini sekarang lebih cepat.
Fitur baru di Windows PowerShell 3.0
Windows PowerShell 3.0 menyertakan fitur baru berikut.
- Alur Kerja Windows PowerShell
- Akses Web Windows PowerShell
- Fitur Windows PowerShell ISE Baru
- Dukungan untuk Microsoft .NET Framework 4.0
- Dukungan untuk Lingkungan Prainstalasi Windows
- Sesi yang Terputus
- Konektivitas Sesi yang Kuat
- Sistem Bantuan yang Dapat Diperbarui
- Bantuan Online yang Disempurnakan
- Integrasi CIM
- File Konfigurasi Sesi
- Pekerjaan Terjadwal dan Integrasi Penjadwal Tugas
- Peningkatan Bahasa Windows PowerShell
- Cmdlet Inti Baru
- Peningkatan pada Cmdlet dan Penyedia Inti yang Ada
- Impor dan penemuan modul jarak jauh
- Penyelesaian Tab yang Ditingkatkan
- Pemuatan Otomatis Modul
- Peningkatan Pengalaman Modul
- Penemuan Perintah yang Disederhanakan
- Dukungan Pengelogan, Diagnostik, dan Kebijakan Grup yang Ditingkatkan
- Peningkatan Pemformatan dan Output
- Pengalaman Host Konsol yang Ditingkatkan
- API Cmdlet dan Hosting Baru
- Peningkatan Performa
- RunAs dan Dukungan Host Bersama
- Peningkatan Penanganan Karakter Khusus
Alur Kerja Windows PowerShell
Alur Kerja Windows PowerShell menghadirkan kekuatan Windows Workflow Foundation ke Windows PowerShell.
Anda dapat menulis alur kerja dalam XAML atau dalam bahasa Windows PowerShell dan menjalankannya seperti Anda 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, dapat ditangguhkan, dan dapat dimulai ulang. Alur kerja dapat dilanjutkan dari gangguan yang disengaja atau tidak disengaja, seperti pemadaman jaringan, restart 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 bawahan.
Berikut ini adalah manfaat Alur Kerja Windows PowerShell
- Otomatisasi tugas yang berurutan dan berjalan lama.
- Pemantauan jarak jauh dari tugas yang berjalan lama. Status dan kemajuan kegiatan terlihat kapan saja.
- Manajemen multikomputer. Jalankan tugas secara bersamaan sebagai alur kerja pada ratusan simpul terkelola. Alur Kerja Windows PowerShell menyertakan pustaka bawaan parameter manajemen umum, seperti PSComputerName, yang memungkinkan 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 diperiksa) pada titik tertentu yang ditentukan oleh penulisnya sehingga Anda dapat melanjutkan alur kerja dari tugas terakhir yang dipertahankan (atau pos pemeriksaan), alih-alih memulai ulang alur kerja dari awal.
- Ketahanan. Pemulihan kegagalan otomatis. Alur kerja bertahan dari restart yang direncanakan dan tidak direncanakan. Anda dapat menangguhkan eksekusi alur kerja dan kemudian 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 sambungan, menyambungkan kembali, dan menjalankan dalam sesi yang terputus. Pengguna dapat terhubung 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 apa pun.
- Alur Kerja dan Pembatasan Koneksi. Eksekusi alur kerja dan koneksi ke simpul dapat dibatasi, sehingga memungkinkan skalabilitas dan skenario ketersediaan tinggi.
Akses Web Windows PowerShell
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. Yang diperlukan hanyalah 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 Windows PowerShell ISE 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 perluas-ciutkan, penyimpanan otomatis, daftar item terbaru, salinan kaya, salinan blokir, dan dukungan penuh untuk menulis alur kerja skrip Windows PowerShell. Untuk informasi selengkapnya, lihat about_Windows_PowerShell_ISE.
Dukungan untuk Microsoft .NET Framework 4
Windows PowerShell dibangun terhadap 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 Prainstalasi Windows
Windows PowerShell 3.0 adalah komponen opsional dari 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 mempersiapkannya untuk instalasi Windows. Windows PE dapat digunakan untuk mempartisi dan memformat hard drive, menyalin gambar disk ke komputer, dan memulai Pengaturan Windows dari berbagi jaringan. Windows PowerShell 3.0 dapat digunakan pada Windows PE untuk mengelola skenario penyebaran, diagnostik, dan pemulihan.
Sesi yang Terputus
Dimulai di 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 dapat menutup sesi dan mematikan komputer Anda. Nantinya, Anda dapat menyambungkan kembali ke sesi dari sesi yang berbeda di komputer yang sama atau di komputer yang berbeda.
Parameter ComputerName cmdlet Get-PSSession sekarang mendapatkan semua sesi pengguna yang tersambung ke komputer, meskipun 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-PSSession, Connect-PSSession, dan Receive-PSSession, dan parameter baru telah ditambahkan ke cmdlet yang mengelola PSSessions, seperti parameter InDisconnectedSession dari Invoke-Command cmdlet.
Fitur Sesi Terputus hanya didukung ketika komputer di ujung asal ("klien") dan penghentian ("server") koneksi menjalankan Windows PowerShell 3.0.
Konektivitas Sesi yang Kuat
Windows PowerShell 3.0 mendeteksi kehilangan konektivitas yang tidak terduga antara klien dan server dan mencoba untuk membangun kembali konektivitas dan melanjutkan eksekusi secara otomatis. Jika koneksi klien-server tidak dapat dibuat kembali dalam waktu yang ditentukan, pengguna diberi tahu dan sesi terputus. Selama upaya untuk menyambungkan kembali, Windows PowerShell memberikan umpan balik berkelanjutan kepada pengguna.
Jika sesi yang terputus dimulai menggunakan InvokeCommand, Windows PowerShell membuat pekerjaan untuk sesi yang terputus untuk mempermudah penyambungan kembali dan melanjutkan eksekusi.
Fitur-fitur ini memberikan pengalaman jarak jauh yang lebih andal dan dapat dipulihkan serta memungkinkan pengguna melakukan tugas jangka panjang yang memerlukan sesi yang kuat, seperti alur kerja.
Sistem Bantuan yang Dapat Diperbarui
Anda sekarang dapat mengunduh file bantuan yang diperbarui untuk cmdlet di modul Anda. Cmdlet mengidentifikasi Update-Help file bantuan terbaru, mengunduhnya dari Internet, membongkarnya, memvalidasinya, dan menginstalnya di direktori khusus bahasa yang benar untuk modul.
Untuk menggunakan file bantuan yang diperbarui, cukup ketik Get-Help. Anda tidak perlu me-restart 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 balik 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 modul atau modul tertentu di semua budaya UI yang didukung. Anda bahkan dapat memasukkan Update-Help perintah di profil Windows PowerShell Anda.
Secara default, Windows PowerShell mengunduh file bantuan untuk modul tidak lebih dari sekali setiap hari.
Modul Windows 8 dan 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 dibuat secara otomatis. Bantuan yang dibuat 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
Bantuan online Windows PowerShell adalah sumber daya yang berharga bagi 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 dari cmdlet dan fungsi lanjutan.
PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923
Dimulai di Windows PowerShell 3.0, penulis cmdlet C# dapat mengisi properti HelpUri dengan membuat atribut HelpUri pada kelas cmdlet. Penulis fungsi lanjutan 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 . Direktif tautan bantuan berbasis komentar dalam fungsi.
Untuk informasi selengkapnya tentang mendukung bantuan online, lihat Mendukung Bantuan Online.
Integrasi CIM
Windows PowerShell 3.0 menyertakan dukungan untuk Common Information Model (CIM), yang menyediakan definisi umum informasi manajemen untuk sistem, jaringan, aplikasi, dan layanan, memungkinkan mereka pertukaran 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
Dimulai di 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 lanjutan.
Dalam versi Windows PowerShell sebelumnya, kontrol pada tingkat ini hanya tersedia bagi 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 cmdlet New-PSSessionConfigurationFile. Untuk menerapkan file konfigurasi sesi ke konfigurasi sesi, gunakan Register-PSSessionConfiguration cmdlet atau 'Set-PSSessionConfiguration.
Untuk informasi selengkapnya, lihat about_Session_Configuration_Files dan New-PSSessionConfigurationFile.
Pekerjaan Terjadwal dan Integrasi Penjadwal Tugas
Anda sekarang dapat menjadwalkan pekerjaan latar belakang Windows PowerShell dan mengelolanya di Windows PowerShell dan di Penjadwal Tugas.
Pekerjaan terjadwal Windows PowerShell adalah hibrida yang berguna dari pekerjaan latar belakang Windows PowerShell dan tugas Penjadwal Tugas.
Seperti pekerjaan latar belakang Windows PowerShell, 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.
Peningkatan Bahasa Windows PowerShell
Windows PowerShell 3.0 menyertakan banyak fitur yang dirancang untuk membuat bahasanya lebih sederhana, lebih mudah digunakan, dan untuk menghindari kesalahan umum. Peningkatan tersebut mencakup pencacahan properti, properti hitungan, dan 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, pelapisan 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 yang 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.Diagnostik
- New-WinEvent
- Microsoft.PowerShell.Management
- Get-ControlPanelItem
- Ganti Nama Komputer
- 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
- PSWorkflowUtilitas
- Invoke-AsWorkflow
- ISE
- Get-IseSnippet
- Import-IseSnippet
- New-IseSnippet
Peningkatan pada 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, cmdlet Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, cmdlet keamanan, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, dan WMI cmdlet.
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, impor, dan jarak jauh modul pada komputer jarak jauh. Cmdlet Modul mendapatkan modul di komputer jarak jauh dan mengimpor modul ke komputer jarak jauh atau lokal menggunakan jarak jauh Windows PowerShell. 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 cmdlet.
Penyelesaian Tab yang Ditingkatkan
Penyelesaian tab di konsol Windows PowerShell sekarang melengkapi nama cmdlet, parameter, nilai parameter, pencacahan, 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 segera menggunakannya tanpa mengimpor modul apa pun. Modul Windows PowerShell sekarang diimpor secara otomatis saat Anda menggunakan cmdlet apa pun dalam modul. Anda tidak perlu lagi mencari modul dan mengimpornya untuk menggunakan cmdlet-nya.
Pengimpor modul otomatis dipicu menggunakan cmdlet dalam perintah, berjalan Get-Command untuk cmdlet tanpa karakter pengganti, atau menjalankan Get-Help cmdlet tanpa karakter pengganti.
Anda dapat mengaktifkan, menonaktifkan, dan mengonfigurasi impor modul otomatis 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.
- Pengelogan modul untuk modul individual (LogPipelineExecutionDetails) dan pengaturan Kebijakan Grup "Aktifkan Pengelogan Modul" baru
- Objek modul yang diperluas yang mengekspos nilai dari manifes modul
- Properti modul ExportedCommands baru, termasuk modul berlapis, yang menggabungkan perintah dari semua jenis
- Penemuan modul yang tersedia (tidak diimpor) yang ditingkatkan, termasuk mengizinkan parameter Path dan ListAvailable dalam perintah yang sama
- Kunci DefaultCommandPrefix baru dalam manifes modul yang menghindari konflik nama tanpa mengubah kode modul.
- Persyaratan modul yang ditingkatkan, termasuk modul yang diperlukan yang memenuhi syarat penuh dengan versi dan GUID dan impor otomatis modul yang diperlukan
- Pengoperasian
New-ModuleManifestcmdlet yang lebih tenang dan efisien. - Parameter Modul baru untuk #Requires
- Cmdlet yang ditingkatkan
Import-Moduledengan parameter MinimumVersion dan RequiredVersion .
Penemuan Perintah yang Disederhanakan
Anda tidak perlu lagi mengimpor semua modul untuk menemukan perintah yang tersedia untuk sesi Anda. Di 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 dalam sesi Anda.
Cmdlet baru Show-Command dirancang khusus untuk pemula. Anda dapat mencari perintah di jendela. Anda dapat melihat semua perintah atau memfilter berdasarkan 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.
Dukungan Pengelogan, Diagnostik, dan Kebijakan Grup yang Ditingkatkan
Windows PowerShell 3.0 meningkatkan dukungan pengelogan dan pelacakan untuk perintah dan modul dengan dukungan untuk Pelacakan 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 disempurnakan yang menambahkan jenis secara dinamis tanpa file Format.ps1xml, pembungkusan kata dalam output, properti pemformatan default objek kustom, jenis PSCustomObject , pemformatan yang ditingkatkan untuk objek WMI dan objek heterogen, dan dukungan untuk menemukan kelebihan metode.
Pengalaman Host Konsol yang Ditingkatkan
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 tidak terbatas hanya dengan mengklik kanan. Logika peluncuran host konsol baru memulai Windows PowerShell lebih cepat dan font baru memungkinkan Anda mempersonalisasi pengalaman jendela konsol yang sudah dikenal.
API Cmdlet dan Hosting Baru
API Cmdlet dan Hosting API baru mencakup API pohon sintaks lanjutan (AST) publik, dan API untuk halaman alur, alur berlapis, penyelesaian tab kumpulan runspace, Windows RT, atribut cmdlet Usang, dan properti Kata Kerja dan Kata Benda dari objek FunctionInfo.
Peningkatan Performa
Peningkatan performa yang signifikan di 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 algoritme Get-ChildItem yang meningkatkan kinerjanya, terutama saat mencari berbagi jaringan.
RunAs dan Dukungan Host Bersama
Windows PowerShell 3.0 menyertakan dukungan untuk fitur RunAs dan Host Bersama.
Fitur RunAs, yang dirancang untuk Alur Kerja Windows PowerShell, memungkinkan pengguna konfigurasi sesi membuat sesi yang berjalan dengan izin akun pengguna bersama. Hal ini memungkinkan pengguna yang kurang memiliki hak 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 di satu komputer dan kemudian menyambungkan ke sesi alur kerja di komputer lain tanpa memutuskan 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" dalam 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 dalam jalur, berlaku pada hampir semua cmdlet yang memiliki parameter Path , termasuk new Update-Help dan Save-Help cmdlet. Parser juga menyertakan logika khusus untuk meningkatkan penanganan karakter backtick (`) dan tanda kurung siku dalam nama file dan jalur.