Saya perlu membuka zip file dengan PowerShell. Cara khas yang saya lihat semua orang lakukan ini adalah dengan mengotomatiskan shell dengan skrip.
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
$destinationFolder = $shellApplication.NameSpace($destination)
$destinationFolder.CopyHere($zipPackage.Items())
Ini tidak akan bekerja untuk saya, karena Server Core tidak memiliki shell, jadi tidak ada yang mengotomatisasi. Ini menghasilkan kesalahan E_FAIL COM.
Powershell tampaknya tidak dapat melakukannya sendiri, dan jika saya pergi ke pihak ke-3, saya harus mencari cara untuk skrip mendapatkan utilitas ke server di tempat pertama. 7-Zip adalah tujuan saya, tetapi sepertinya saya tidak bisa skrip unduhan dan instal. Sourceforge terus meludahkan saya kembali file HTML.
Bagaimana saya bisa benar-benar skrip membuka ritsleting file zip di Server 2012 Core?
Jawaban:
Server 2012 hadir dengan Dot.NET 4.5 yang memiliki System.IO.Compression.ZipFile yang memiliki metode ExtractToDirectory. Anda harus dapat menggunakan ini dari PowerShell.
Berikut ini sebuah contoh.
Pertama, Anda perlu memuat perakitan ZipFile di:
Kemudian ekstrak isinya
Sunting: Jika Anda telah memperbarui ke PowerShell 5 (Windows Management Framework 5.0) Anda akhirnya memiliki cmdlet asli:
sumber