Menginstal dan mengkonfigurasi Windows PowerShell. Windows PowerShell - Catatan Berguna Menginstal powershell

0
Berlaku untuk:
Office 365 untuk profesional dan bisnis kecil, Office 365 untuk perusahaan, [dilindungi email]
Windows XP, Windows Vista, Windows Server 2003, Windows 7 dan Windows Server 2008

Sebelum Anda mulai menggunakan Windows PowerShell, pastikan Anda telah menginstal dan mengonfigurasi versi Windows PowerShell dan Windows Remote Management (WinRM) yang benar di komputer Anda. Anda harus menggunakan Kerangka Manajemen Windows, yang menyertakan versi Windows PowerShell v2 dan WinRM 2.0 yang benar.

Jika komputer Anda menjalankan Windows 7 atau Windows Server 2008 R2, Anda tidak perlu menginstal apa pun. Kerangka Manajemen Windows sudah diinstal.

Anda dapat mengunduh dan menginstal Kerangka Manajemen Windows jika komputer Anda menjalankan salah satu sistem operasi berikut:

    Windows Vista Paket Layanan 1 (SP1) atau 2 (SP2);

    Windows Server 2008 Paket Layanan 1 (SP1) atau 2 (SP2);

    Windows Server 2003 Paket Layanan 2 (SP2);

    Windows XP Paket Layanan 3 (SP3).

Mari kita mulai bekerja:

1. Hapus versi Windows PowerShell sebelumnya dari komputer Anda

Sebelum menginstal Kerangka Manajemen Windows, Anda harus menghapus semua versi Windows PowerShell yang ada.

1.1 Menghapus Instalasi Windows PowerShell dari Windows Vista

    Di grup Program di Panel Kontrol, buka bagian Program dan Fitur dan hapus semua instance Windows PowerShell yang ada dalam daftar program yang diinstal. Misalnya, versi CTP Windows PowerShell v2 mungkin muncul sebagai "Windows PowerShell (TM) V2".

    Di bagian Tugas, pilih Lihat Pembaruan yang Diinstal dan hapus instalan semua instance Windows PowerShell yang terdaftar sebagai pembaruan yang diinstal. Misalnya, Windows PowerShell V1 mungkin muncul sebagai Pembaruan Windows dengan salah satu nomor artikel berikut ini di Pangkalan Pengetahuan Microsoft:

1.2 Menghapus Windows PowerShell dari sistem Windows Server 2008

    Luncurkan Server Manager dan buka bagian "Komponen".

    1. Pilih "Hapus Fitur".

      Pilih nilai Windows PowerShell dan ikuti petunjuk untuk menghapus instalasi.

    Di Panel Kontrol, di grup Program, buka item Program dan Fitur dan hapus instalan semua instance Windows PowerShell yang ada dalam daftar program yang diinstal.

    Di grup Tugas, pilih Lihat Pembaruan yang Diinstal. Hapus semua instance Windows PowerShell yang terdaftar sebagai pembaruan yang diinstal.

1.3 Menghapus Windows PowerShell dari Windows Server 2003 atau Windows XP

    Buka Add/Remove Programs di Control Panel dan hapus semua instance Windows PowerShell yang terdaftar sebagai program yang diinstal.

    Di bagian Tambah/Hapus Program, pilih Perlihatkan Pembaruan. Hapus semua instance Windows PowerShell yang terdaftar sebagai pembaruan yang diinstal. Misalnya, Windows PowerShell V1 mungkin muncul sebagai pembaruan Windows dengan nomor artikel berikut ini di Pangkalan Pengetahuan Microsoft: KB926139.

2. Hapus versi WinRM sebelumnya dari komputer Anda

Anda harus menghapus semua versi WinRM yang ada sebelum menginstal Kerangka Manajemen Windows.

2.1 Menghapus Instalasi WinRM dari Windows Vista atau Windows Server 2008

    Di grup Program di Panel Kontrol, buka bagian Program dan Fitur dan hapus semua layanan Remote Control Windows yang ada dalam daftar program yang diinstal.

    Di grup Tugas, pilih Lihat Pembaruan yang Diinstal. Hapus semua contoh layanan Remote Control Windows yang ada dalam daftar pembaruan yang diinstal. Misalnya, versi CTP WinRM 2.0 mungkin muncul sebagai "WindowsRemoteManagement" dengan salah satu nomor artikel berikut ini di Pangkalan Pengetahuan Microsoft:

2.2 Menghapus Windows PowerShell dari Windows Server 2003 atau Windows XP

    Buka Add/Remove Programs di Control Panel dan hapus semua instance Windows Remote Control yang terdaftar sebagai program yang diinstal.

    Di bagian Tambah/Hapus Program, pilih Perlihatkan Pembaruan. Hapus semua contoh layanan Remote Control Windows yang ada dalam daftar pembaruan yang diinstal. Misalnya, WinRM mungkin muncul sebagai pembaruan Windows dengan nomor artikel berikut ini di Pangkalan Pengetahuan Microsoft: KB936059.

3. Menginstal Kerangka Manajemen Windows

    Unduh dan instal Kerangka Manajemen Windows. Pilih paket yang berisi Windows PowerShell v2 dan WinRM 2.0 yang sesuai untuk sistem operasi, arsitektur sistem, dan bahasa Anda.

    Setelah menginstal WinRM dan Windows PowerShell, konfigurasikan perangkat lunak agar berfungsi dengan benar seperti yang dijelaskan dalam langkah-langkah berikut.

Catatan

4. Memeriksa kemampuan menjalankan skrip di Windows PowerShell

    Pilih Mulai, Semua Program, Aksesori, Windows PowerShell secara berurutan.

    Untuk membuka Windows PowerShell, lakukan salah satu hal berikut:

    • Jika Anda menjalankan Windows Vista, Windows 7, atau Windows Server 2008 R2, klik kanan Windows PowerShell dan pilih Jalankan sebagai administrator. Ketika muncul perintah Kontrol Akun Pengguna yang meminta Anda untuk melanjutkan, klik tombol Lanjutkan.

      Jika Anda menjalankan Windows XP atau Windows Server 2003, klik Windows PowerShell.

    Jalankan perintah berikut:

    Get-ExecutionPolicy

    Jika nilai yang dikembalikan berbeda dari RemoteSigned , Anda harus mengubah nilainya menjadi RemoteSigned .

    Catatan

    Jika kebijakan eksekusi skrip disetel ke RemoteSigned , hanya skrip yang dibuat di komputer pengguna atau ditandatangani oleh sumber tepercaya yang dapat dijalankan.

Bersiap untuk Menjalankan Skrip di Windows PowerShell

Dalam sesi Windows PowerShell yang dibuka sebagai administrator, jalankan perintah berikut:

Set-ExecutionPolicy RemoteSigned

5. Verifikasi bahwa WinRM memiliki izin untuk menghubungkan Windows PowerShell

    Pilih "Mulai", "Semua Program", "Aksesoris" secara berurutan.

    Lakukan salah satu hal berikut untuk membuka prompt perintah:

    • Jika Anda menjalankan Windows Vista, Windows 7, atau Windows Server 2008 R2, klik kanan Command Prompt dan pilih Run as administrator. Ketika muncul perintah Kontrol Akun Pengguna yang meminta Anda untuk melanjutkan, klik tombol Lanjutkan.

      Jika Anda menjalankan Windows XP atau Windows Server 2003, pilih Prompt Perintah.

    Pada baris perintah, jalankan perintah berikut:

    winrm dapatkan winrm/config/client/auth

    Catatan

    Jika layanan WinRM sudah berjalan, Anda tidak perlu memulainya. Status layanan WinRM dapat diperiksa dengan menjalankan perintah sc query winrm.

Cari nilai Basic = di hasil. Jika Basic = false ditentukan, maka itu harus diubah menjadi Basic = true .

Catatan

    Jika layanan WinRM sedang berjalan dan Anda tidak perlu mengubah nilai Dasar, jalankan perintah net stop winrm untuk menghentikan layanan WinRM.

Mengaktifkan Otentikasi Dasar di WinRM

    Di jendela prompt perintah yang dibuka sebagai administrator, jalankan perintah berikut: Nilai dalam kurung kurawal ( ) peka huruf besar-kecil:

    winrm set winrm/config/client/auth @(Basic="true")

    Periksa Basic = true di output perintah.

    Catatan

    Jika layanan WinRM sedang berjalan, jalankan perintah net stop winrm untuk menghentikannya.

Tindakan selanjutnya.

Beberapa waktu telah berlalu sejak peluncuran rilis final sistem operasi terbaru dari Microsoft, dan tidak hanya penggemar yang menguji versi menengah, tetapi juga para pengguna yang telah mengunduh pembaruan yang telah lama ditunggu-tunggu telah berhasil berkenalan dengannya. Apakah sistem baru itu baik atau tidak? Apakah ini produk inovatif terbaru atau hanya G8 yang seharusnya keluar saat itu? Ini adalah pertanyaan yang tidak bisa dijawab dengan jelas. Selain inovasi yang jelas, yang mencakup menu Start yang muncul di sistem, browser Microsoft Edge, kompatibilitas Xbox, pencarian dan tampilan tugas yang terintegrasi dengan Cortana, ada sejumlah inovasi yang tidak diketahui oleh semua pengguna Windows 10.

Dan salah satu inovasi tersebut adalah kemampuan untuk menginstal produk perangkat lunak secara langsung menggunakan shell Windows PowerShell, yang akan dibahas nanti dalam artikel ini. Terlepas dari kenyataan bahwa fungsi ini muncul kembali pada bulan April 2014, bersama dengan rilis Windows Management Framework 5.0 Pratinjau, itu bisa menjadi asli hanya dengan rilis final "puluhan". Jadi, mari kita lihat modul mana yang bertanggung jawab atas fungsi ini dan bagaimana Anda dapat menginstal produk perangkat lunak tanpa mengunduh file instalasi.

Modul OneGet Windows PowerShell

Sejak rilis Windows Management Framework 5.0 Preview, Windows PowerShell memiliki beberapa fitur baru yang dirancang untuk memudahkan pengelolaan komputer. Fitur-fitur tersebut mencakup dua teknologi menarik, yaitu Windows PowerShell Desired State Configuration dan Certified for Windows Network Switches.

Dalam kasus Sakelar Jaringan Bersertifikat untuk Windows, sejumlah cmdlet Windows PowerShell telah ditambahkan yang bertanggung jawab untuk mengelola sakelar jaringan bersertifikasi Windows. Artinya, ada 19 cmdlet baru yang bisa Anda temukan dengan menjalankan perintah “Get-Command *-NetworkSwitch*” di shell PowerShell. Karena teknologinya cukup serius dan patut mendapat perhatian khusus, dalam artikel ini saya akan membatasi diri pada deskripsi kecil dan tidak akan mempertimbangkan teknologi ini secara lebih rinci.

Tetapi teknologi kedua harus dibahas lebih detail. Jika Anda menginstal Windows Management Framework 5 atau sistem operasi Windows 10, Anda dapat menggunakan alat yang memudahkan untuk menemukan dan menginstal perangkat lunak di komputer Anda. OneGet adalah alat semacam itu. OneGet adalah agregator manajemen paket, yaitu modul yang menggunakan repositori khusus untuk menyediakan antarmuka tunggal untuk menemukan, menginstal, dan menginventarisasi perangkat lunak. Dengan kata lain, teknologi ini, di satu sisi, menyediakan satu set cmdlet yang memungkinkan pengguna akhir untuk mengelola paket instalasi (yang akan kita bahas nanti), dan di sisi lain, menyediakan antarmuka untuk menulis paket vendor. .

Sebelum kita mulai membahas modul itu sendiri, sebaiknya perhatikan beberapa definisi yang erat kaitannya dengan teknologi ini, yaitu:

  • Kemasan. Singkatnya, paket adalah program yang dibangun dan diinstal dari sumber tertentu menggunakan sistem manajemen paket yang tersedia. Biasanya, sebuah paket menyediakan kode yang dikompilasi, dengan informasi meta tambahan, yang mungkin menyertakan deskripsi paket, versinya, atau "dependensi". Sistem manajemen paket, misalnya, untuk melakukan peningkatan otomatis produk perangkat lunak ke versi baru, untuk memastikan bahwa semua dependensi paket akan diinstal, harus memproses informasi meta tersebut dan, jika perlu, harus menginstal semua yang hilang secara otomatis. paket;
  • gudang. Menurut Wikipedia, repositori adalah tempat di mana data disimpan dan dipelihara. Paling sering, data dalam repositori disimpan dalam bentuk file yang tersedia untuk distribusi lebih lanjut melalui jaringan. Repositori pada awalnya digunakan oleh sistem Linux, memungkinkan Anda untuk menginstal paket yang diperlukan untuk menjalankan sistem dari lokasi lain. Sebagian besar repositori gratis, tetapi beberapa perusahaan menyediakan akses ke repositori mereka sendiri untuk langganan berbayar. Kami akan berbicara tentang repositori OneGet nanti;
  • Manajer Paket. Ini adalah seperangkat alat perangkat lunak yang bertanggung jawab untuk mengotomatisasi proses menginstal, memperbarui, mengkonfigurasi dan menghapus paket perangkat lunak. Biasanya, paket menyertakan database yang mencantumkan prasyarat dan dependensi perangkat lunak, serta informasi versi produk untuk mencegah penggunaan produk perangkat lunak yang tidak berfungsi. Manajer paket menyertakan Linux apt-get atau NuGet, yang kemudian muncul di sistem Windows. Pada gilirannya, OnetGet adalah perpanjangan logis dari NuGet, bertindak sebagai agregator untuk semua manajer paket yang tersedia, yang disebut penyedia.

Awalnya, Microsoft membatasi penggunaan sebagian besar penyedia yang tersedia dengan menyediakan set dasar yang memungkinkan Anda menemukan dan menginstal penyedia tambahan untuk mengelola perangkat lunak Anda. Penyedia utama meliputi:

  • Bootstrap– penyedia yang memungkinkan penyedia lain ditemukan;
  • MSI– penyedia yang dirancang untuk memproses file MSI;
  • MSU– pada gilirannya, vendor yang bertanggung jawab untuk menangani file pembaruan Microsoft;
  • ARP(Tambah/Hapus program) - penyedia yang bertanggung jawab atas data inventaris tentang produk perangkat lunak apa pun yang terdaftar di komponen "Hapus atau ubah program" dari sistem;
  • PowerShellDapatkan- Penyedia yang memungkinkan Anda mengelola berbagai modul PowerShell.

Anda dapat menemukan daftar lengkap penyedia OneGet dengan deskripsi singkatnya di tautan berikut.

Modul OneGet sendiri mencakup 10 cmdlet Windows PowerShell, yang sebagian besar akan dibahas di bagian selanjutnya dari artikel ini. Cmdlet ini meliputi:

  • Temukan-Paket - cari paket;
  • Get-Package - mengembalikan daftar semua paket yang diinstal pada komputer;
  • Get-PackageProvider - mengembalikan daftar penyedia yang terhubung ke OneGet di komputer ini;
  • Get-PackageSource - Mengembalikan daftar sumber paket yang terdaftar dengan penyedia paket tertentu.
  • Install-Package - memungkinkan Anda untuk menginstal satu atau lebih produk perangkat lunak;
  • Register-PackageSource - menambahkan sumber paket untuk penyedia paket yang ditentukan;
  • Save-Package - memungkinkan Anda untuk menyimpan paket ke komputer lokal tanpa instalasi berikutnya;
  • Set-PackageSource - ubah untuk penyedia paket yang ditentukan sumber paket;
  • Uninstall-Package - penghapusan satu atau lebih paket perangkat lunak;
  • Unregister-PackageSource - Hapus sumber paket yang terdaftar.
    • Menginstal perangkat lunak menggunakan OneGet

      Jadi sudah waktunya untuk proses instalasi produk perangkat lunak. Selanjutnya, Anda akan melihat bagaimana Anda dapat menginstal penyedia paket, menemukan perangkat lunak yang diperlukan, menginstalnya, dan juga bagaimana Anda dapat menghapus aplikasi yang tidak perlu dan mengunduh paket instalasi produk perangkat lunak ke komputer Anda. Mari kita mulai secara berurutan.

      Memasang Penyedia Paket Cokelat

  1. Buka Windows PowerShell dan untuk menampilkan daftar sumber paket yang terdaftar dengan OneGet di komputer lokal, jalankan perintah Dapatkan-PaketSumber. Perhatikan bahwa jika Anda menentukan penyedia paket tertentu dalam perintah, maka cmdlet Get-PackageSource hanya akan menunjukkan kepada Anda sumber yang terkait dengan penyedia yang Anda tentukan. Jika tidak, perintah mengembalikan semua sumber paket yang terdaftar di OneGet. Karena kita perlu melihat sumber paket untuk semua penyedia, perintah akan berjalan tanpa parameter tambahan. Pastikan untuk dicatat bahwa pada tahap ini Anda belum menginstal penyedia paket tambahan yang akan digunakan untuk menginstal produk perangkat lunak. Anda dapat melihat output dari perintah pada gambar berikut:

  2. Seperti yang Anda lihat pada ilustrasi sebelumnya, penyedia Chocolatey tidak diinstal pada mesin lokal kami. Oleh karena itu, hal ini perlu diperbaiki. Perhatikan bahwa untuk menambahkan penyedia paket, ExecutionPolicy PowerShell harus disetel ke Tidak dibatasi. Jika tidak, Anda tidak akan dapat menambahkan pemasok. Biarkan saya mengingatkan Anda bahwa cmdlet Get-ExecutionPolicy memungkinkan Anda untuk menampilkan kebijakan eksekusi untuk sesi saat ini. Kebijakan eksekusi adalah bagian dari kebijakan keamanan Windows PowerShell yang menentukan apakah file konfigurasi dapat dimuat dan skrip dapat dijalankan, dan skrip mana yang memerlukan tanda tangan digital untuk dijalankan. Nilai defaultnya adalah " Terbatas” (tidak memuat file konfigurasi dan tidak menjalankan skrip), jadi jika Anda belum mengubah nilai kebijakan eksekusi untuk diri sendiri, jalankan perintah Set-Executionpolicy Tidak Terbatas. Karena cakupan kebijakan eksekusi default adalah LocalMachine, sehingga pengaturan kebijakan hanya berlaku untuk pengguna saat ini, Anda juga dapat menambahkan parameter ke perintah yang diterapkan -Cakupan dengan makna Pengguna Saat Ini. Output dari kedua perintah tersebut dapat dilihat pada ilustrasi berikut:

  3. Pada tahap ini, kita dapat melihat daftar penyedia yang terdaftar di OneGet di komputer saat ini. Untuk melakukan ini, Anda dapat menggunakan cmdlet Dapatkan-PaketPenyedia. Cmdlet ini, seperti yang sudah saya sebutkan sedikit di atas, mengembalikan daftar penyedia paket yang sudah terhubung ke OneGet. Secara opsional, Anda dapat memfilter hasil berdasarkan semua atau sebagian dari satu (beberapa) nama vendor. Misalnya, untuk melihat penyedia mana yang saat ini terhubung, Anda akan menjalankan cmdlet Dapatkan-PaketPenyedia tanpa opsi tambahan. Seperti yang Anda lihat dalam ilustrasi berikut, awalnya saya memiliki 4 penyedia yang terhubung ke komputer saya, yang sudah saya ceritakan hari ini. Sekarang, untuk menginstal penyedia Chocolatey di komputer Anda, Anda perlu menjalankan perintah Get-PackageProvider -Nama Chocolatey -ForceBootstrap, di mana parameter -ForceBootstrap bertanggung jawab untuk menginstal penyedia secara otomatis. Perhatikan bahwa, sebagai aturan umum, saat Anda menginstal penyedia Chocolatey, penyedia NuGet juga harus diinstal. Seperti yang Anda lihat dalam ilustrasi berikut, setelah menggunakan kembali cmdlet Dapatkan-PaketPenyedia, penyedia yang kami instal seharusnya sudah muncul dalam daftar:

Sekarang kita dapat membuat daftar lengkap semua paket yang tersedia di penyedia dan menyalurkannya ke cmdlet Ekspor-CliXML untuk membuat representasi XML objek dan menyimpannya dalam file XML. Harap dicatat bahwa daftar yang Anda ekspor akan terus berubah dan seiring waktu semakin banyak paket yang akan ditambahkan ke repositori yang Anda gunakan. Karenanya, jangan lupa untuk mengganti file yang Anda ekspor dari waktu ke waktu. Untuk mengekspor daftar paket dan menyimpan daftar ini di folder C:\TestPosh, Anda perlu menjalankan perintah berikut: temukan-paket | Ekspor-CliXML C:\TestPosh\Test.xml

Harap dicatat bahwa prosedur ekspor pasti akan memakan waktu. Setelah perintah selesai dijalankan dan file XML dibuat di komputer Anda, impor dan, untuk kenyamanan melihat, menggunakan pipa dan perintah tampilan bergaris, yang bertanggung jawab untuk menampilkan hasil eksekusi perintah di jendela dalam bentuk tabel interaktif, Anda dapat melihat paket mana yang akan tersedia untuk instalasi. Secara alami, Anda dapat membuka daftar paket ini menggunakan aplikasi apa pun yang dapat memproses file XML, misalnya, menggunakan Excel yang sama. Perintah ini, seperti yang Anda lihat dalam ilustrasi berikut, terlihat seperti ini: Impor-CliXML C:\TestPosh\Test.xml | Keluar GridView

Karena penyedia sudah terinstal, Anda dapat melanjutkan ke bagian selanjutnya dari prosedur ini, yaitu

Menginstal perangkat lunak menggunakan PowerShell

Sebelum menginstal produk perangkat lunak, kita harus melihat apa yang sudah diinstal di komputer. Untuk menyelesaikan tugas ini, Anda dapat menggunakan cmdlet Dapatkan-Paket, yang mengembalikan daftar semua paket perangkat lunak yang diinstal pada mesin lokal, baik melalui OneGet atau alat penginstalan aplikasi lainnya. Secara opsional, Anda juga dapat menjalankan cmdlet Dapatkan-Paket dan pada komputer jarak jauh dengan menjalankannya sebagai bagian dari Invoke-Command, perintah Enter-PSSession, atau skrip.

Jika Anda ingin mendapatkan informasi tentang perangkat lunak tertentu, misalnya, pada produk Microsoft Office 2013 yang diinstal, Anda dapat menggunakan parameter –Nama bersama dengan cmdlet ini dengan nilai yang sesuai, misalnya, Dapatkan-Paket -Nama "kantor 2013". Output dari cmdlet ini terlihat di bawah ini:

Sebelum menginstal perangkat lunak, mari kita coba memutuskan apa yang perlu kita instal. Karena hanya Office 2013 dan beberapa aplikasi lain yang diinstal pada mesin, selanjutnya saya akan menunjukkan kepada Anda bagaimana Anda dapat menginstal produk perangkat lunak seperti Adobe Creative Cloud, Adobe Reader, Notepad ++, serta Process Explorer, Process Monitor, dan WinRar.

Karena fakta bahwa sebelum proses instalasi itu sendiri, kita perlu melokalkan paket itu sendiri, kita harus menggunakan kemampuan cmdlet Temukan-Paket. Seperti yang Anda catat sedikit sebelumnya, cmdlet ini memungkinkan Anda untuk mencari paket instalasi di sumber paket yang tersedia di komputer lokal. Jika Anda tidak menggunakan parameter apa pun dengan cmdlet ini, perintah akan menampilkan daftar lengkap semua aplikasi, seperti yang telah disebutkan sebelumnya.

Sebagai contoh, untuk memulai, mari kita coba mencari aplikasi Adobe yang tersedia untuk instalasi dari penyedia Chocolatey yang kami tambahkan. Untuk melakukan ini, selain cmdlet itu sendiri, cukup tentukan parameternya -Nama dan masukkan produk perangkat lunak yang diinginkan sebagai nilainya. Karena paket instalasi mungkin memiliki nama produk setelah kata Adobe, masukkan nama produk sebagai berikut: Adobe* seperti yang ditunjukkan pada ilustrasi berikut. Seperti yang Anda lihat, modul OneGet menemukan paket instalasi berikut di repositori: adobe-creative-cloud versi 1.0. Pada prinsipnya, ini adalah salah satu produk yang Anda cari, yang berarti harus dipasang. Untuk melakukan ini, seperti yang juga dapat Anda lihat dalam ilustrasi berikut, Anda perlu menggunakan kemampuan cmdlet Instal-Paket. Untuk menginstal Creative Cloud jalankan perintah berikut Install-Package -Nama adobe-creative-cloud –Force, di mana parameter Force, seperti biasa di PowerShell, mengesampingkan batasan yang mencegah perintah dijalankan hingga perubahan mulai melanggar persyaratan keamanan. Output dari perintah-perintah tersebut dapat dilihat pada ilustrasi berikut:

Sekarang, setelah produk perangkat lunak pertama diinstal, mari kita coba mencari versi tertentu dari Adobe Reader. Untuk melakukan ini, selain perintah yang sudah diketahui Temukan-Paket –Nama AdobeReader parameter harus ditambahkan -Semua versi, yang mengembalikan semua versi paket yang tersedia, atau semua versi paket yang berada dalam rentang yang ditentukan dalam opsi Versi Minimum dan Versi Maksimum. Harap dicatat bahwa parameter ini opsional, karena pencarian awalnya menampilkan versi terbaru dari produk perangkat lunak. Sekarang, dari semua versi yang tersedia, kita harus memilih salah satu yang harus diinstal di komputer, misalnya, biarkan versi 2015.007.20033 . untuk menginstal versi pembaca khusus ini, Anda harus menggunakan perintah Instal-Paket -Nama AdobeReader tambahkan parameter –Versi Wajib dengan makna 2015.007.20033 , yang menentukan versi persis paket yang ingin Anda instal. Anda juga dapat mengatur versi produk maksimum yang tersedia dengan menambahkan parameter Versi Maksimum dengan nilai yang sesuai. Output dari perintah ini ditunjukkan dalam ilustrasi berikut:

Jika Anda perlu menginstal versi terbaru dari produk perangkat lunak dan pada saat yang sama tidak ingin mengetik beberapa perintah di PowerShell, Anda dapat menggeneralisasi pencarian dan penginstalan paket menggunakan pipa. Misalnya, dalam hal menginstal versi terbaru editor teks Notepad++, Anda dapat menjalankan perintah berikut: Temukan-Paket -Nama NotepadPlusPlus | Instal-Paket –Force. Jadi, Anda mencari paket di repositori dan, jika Anda menemukan hasilnya, segera instal dalam mode senyap. Proses instalasi untuk produk perangkat lunak ini ditunjukkan di bawah ini:

Sekarang, karena sesuai dengan tugas di atas, tinggal menginstal Process Explorer, Process Monitor dan WinRar, mari kita coba menginstal beberapa paket perangkat lunak sekaligus. Untuk melakukan ini, diinginkan untuk mengetahui dengan tepat bagaimana paket-paket ini dipanggil dalam repositori itu sendiri. Seperti yang saya tulis sebelumnya, ini dapat diperiksa menggunakan cmdlet temukan-paket | Keluar GridView. Setelah nama paket diketahui, Anda dapat melanjutkan dengan instalasi itu sendiri. Untuk melakukan ini, Anda dapat menjalankan perintah berikut: Temukan-Paket -Nama procexp, procmon, winrar | Instal-Paket. Dalam contoh ini, seperti yang Anda lihat dalam ilustrasi berikut, saya secara khusus tidak menentukan parameter memaksa sehingga Anda dapat memperhatikan seluruh proses instalasi beberapa paket perangkat lunak secara bersamaan.

Menyimpan dan menghapus program

Dua cmdlet terakhir yang akan dibahas dalam artikel ini bertanggung jawab untuk menyimpan paket instalasi dan menghapus program yang diinstal. Mari kita mulai dengan menabung.

Untuk menyimpan paket instalasi, Anda dapat menggunakan cmdlet modul OneGet berikutnya, yaitu modul Simpan-Paket. Cmdlet ini memungkinkan Anda untuk menyimpan paket ke komputer lokal tanpa menginstalnya nanti. Secara default, cmdlet ini menyimpan versi terbaru dari produk perangkat lunak, namun, jika Anda menambahkan parameter ke cmdlet saat ini Semua versi, semua versi program yang Anda pilih akan disimpan di komputer Anda. Selain itu, mirip dengan parameter cmdlet pencarian dan instalasi, selain menyimpan semua versi, menggunakan parameter -Versi Maksimum dan –Versi Minimum, Anda juga dapat memilih rentang versi paket yang ingin Anda simpan. Untuk menyimpan paket di komputer Anda, selain opsi Nama dan, jika perlu, parameter yang bertanggung jawab untuk versi produk, Anda harus menentukan parameter Jalur dengan lokasi masa depan penginstal Anda.

Seperti yang Anda lihat pada ilustrasi berikut, perintah Simpan-Paket -Nama Procexp -Jalur C:\TestPosh simpan versi terbaru Process Explorer ke folder C:\TestPosh:

Jika Anda tidak sengaja menginstal paket yang salah, Anda selalu dapat menghapusnya menggunakan modul OneGet. Untuk melakukan ini, gunakan cmdlet Uninstall-Paket. Seperti halnya cmdlet lainnya dalam modul ini, Anda perlu menentukan parameter Name dengan nama aplikasi yang sesuai untuk menghapus program, dan Anda juga dapat menggunakan parameter Force untuk menghapus program secara diam-diam. Misalnya, untuk menghapus WinRAR yang diinstal sebelumnya dari komputer Anda, Anda perlu menjalankan perintah berikut: Uninstall-Package -Nama WinRAR -Force seperti di bawah ini:

Kesimpulan

Pada artikel ini, Anda mempelajari salah satu fitur sistem operasi baru dari Microsoft, yaitu instalasi produk perangkat lunak menggunakan shell perintah Windows PowerShell. Saya telah memberi tahu Anda tentang modul OneGet itu sendiri, tentang terminologi dasar yang digunakan bersama dengan teknologi ini, dan tentang penyedia paket pra-instal apa yang ada. Anda telah mempelajari cara menyambungkan penyedia paket pihak ketiga ke OneGet dan cara menggunakannya untuk menemukan, menginstal, menyimpan, dan menghapus produk perangkat lunak.

Saya harap informasi ini bermanfaat bagi Anda dan Anda belajar sesuatu yang baru untuk diri Anda sendiri. Jika Anda memiliki pertanyaan tentang materi artikel ini - tanyakan di komentar, saya akan dengan senang hati memberikan bantuan apa pun.

VN:F

Peringkat: 9.9/ 10 (18 suara diberikan)

Menginstal program menggunakan PowerShell di Windows 10, 9,9 dari 10 berdasarkan 18 peringkat

Hari ini saya akan menunjukkan cara menginstal dan menggunakan Modul Administrasi Direktori Aktif untuk Windows PowerShell. Anda dapat menggunakan cmdlet dalam modul ini untuk mendapatkan informasi tentang dan mengelola berbagai objek dan pengaturan AD. Modul ini dipasang sebagai komponen terpisah dalam sistem operasi server. Pada OS desktop (Windows 10, 8.1, 7), Anda harus menginstal paket Alat Administrasi Server Jarak Jauh (RSAT), yang menyertakan modul untuk berinteraksi dengan AD dari PowerShell. Selain modul ini, RSAT mencakup semua snap-in grafis manajemen yang diperlukan, utilitas baris perintah, dan modul Windows PowerShell untuk administrasi Windows dan AD. Anda perlu mengunduh sendiri paket ini untuk versi OS Anda dari situs web Microsoft.

Memasang Modul Direktori Aktif untuk Windows PowerShell

Modul Direktori Aktif untuk Windows PowerShell pertama kali muncul di Windows Server 2008 R2. Secara otomatis diatur ke . Untuk menggunakan cmdlet PowerShell dari modul AD, domain harus memiliki setidaknya satu pengontrol yang menjalankan Windows Server 2008 R2 atau yang lebih baru. Jika jaringan Anda hanya memiliki Windows Server 2003 dan 2008 DC, Anda harus mengunduh dan menginstal Layanan Gateway Manajemen Direktori Aktif. Cmdlet PowerShell dari modul Active Directory berinteraksi dengan layanan web yang merupakan bagian dari pengontrol domain dengan peran ADDS.

Anda dapat menginstal Modul Direktori Aktif untuk Windows PowerShell tidak hanya di pengontrol domain, tetapi juga di server atau workstation anggota domain. Di Windows Server 2016, Anda dapat menginstal Modul Direktori Aktif untuk Windows PowerShell dari konsol grafis Manajer Server menggunakan Wisaya Tambah Peran dan Fitur. Cukup dengan memulai wizard dan pada tahap pemilihan komponen, pilih Remote Server Administration Tools -> Role Administration Tools -> AD DS dan AD LDS Tools -> Modul Direktori Aktif untuk Windows PowerShell(Alat Administrasi Server Jarak Jauh > Alat Administrasi Peran > AD DS dan AD LDS Tools -> modul Active Directory untuk Windows PowerShell).

Modul ini juga dapat diinstal menggunakan PowerShell. Buka konsol PowerShell dengan hak admin dan jalankan perintah:

Manajer Server Modul Impor
Add-WindowsFeature -Nama "RSAT-AD-PowerShell" –IncludeAllSubFeature

Di Windows 10, Windows 8.1 dan Windows 10, untuk menginstal modul RSAT-AD-PowerShell harus terlebih dahulu menginstal versi RSAT yang sesuai, setelah itu modul harus diaktifkan di Panel Kontrol (Panel Kontrol -> Program -> Program dan Fitur dan klik "Aktifkan Fitur Windows" -> Alat Administrasi Server Jarak Jauh -> Alat Administrasi Peran -> Alat AD DS dan AD LDS -> aktifkan Modul Direktori Aktif untuk komponen Windows PowerShell.

Atau Anda dapat menginstal modul menggunakan PowerShell:

Aktifkan-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell

Mengimpor dan Menggunakan Modul PowerShell Direktori Aktif

Pada Windows 7 dan Windows Server 2008 R2 dengan PowerShell 2.0 terinstal, untuk mulai menggunakan modul AD, Anda perlu mengimpornya ke sesi PowerShell Anda dengan perintah:

Atau, Anda dapat mengekspor modul dari mesin jarak jauh yang sudah diinstal dan mengimpornya ke sesi PowerShell Anda:

$MySession = New-PSSession -ComputerName MyDomainController
Ekspor-PSsession -Sesi $MySession -Modul ActiveDirectory -OutputModule RemoteADPosh
Hapus-PSSession -Session $MySession
Impor-Modul RemoteADPosh

Di Windows Server 2012 R2/2016 dan Windows 8.1/Windows 10, modul (jika diinstal) secara otomatis diimpor ke sesi.

Jika komputer bergabung ke domain, drive dibuat secara default bernama IKLAN:..Anda dapat menavigasi ke disk ini dengan perintah CD dan menggunakan perintah sistem file yang sudah dikenal untuk menavigasi disk ini. Jalur dalam format X500.

PS C:\> cd IKLAN:
PS AD:\> dir

IKLAN PS:\> cd "DC=vmblog,DC=ru"

Anda dapat menampilkan daftar cmdlet modul yang tersedia untuk bekerja dengan Active Directory sebagai berikut:

Dapatkan-Perintah -Modul Direktori Aktif

Versi Windows yang berbeda memiliki jumlah cmdlet yang berbeda:

  • Windows Server 2008 R2 - 76 cmdlet.
  • Windows Server 2012 - 135 cmdlet
  • Windows Server 2012 R2/2016 - 147 cmdlet.

Jadi sekarang Anda dapat menggunakan cmdlet PowerShell untuk mengelola AD. Di situs kami, Anda dapat berkenalan dengan penggunaan cmdlet berikut dari modul AD untuk PowerShell: , .

Windows PowerShell adalah shell baris perintah dan bahasa scripting dengan kekuatan besar dan sintaks yang indah untuk administrasi sistem. Windows PowerShell adalah alat yang sangat baik untuk mengelola dan mengotomatisasi administrasi sistem operasi Windows, serta aplikasi yang berjalan di Windows.

Saya adalah pengagum berat skrip vbs. Karena saya perhatikan bahwa untuk tugas-tugas yang sebelumnya saya gunakan Delphi, bahasa scripting scripting vbs cukup cocok. Lagi pula, jauh lebih mudah untuk membuka notepad, meletakkan beberapa baris di sana, menyimpan file dengan ekstensi yang diinginkan dan menjalankan skrip. Untuk melakukan ini, Anda tidak perlu menginstal apa pun, seperti Delphi, yang juga berbayar.

Meskipun vbs tidak buruk, penerusnya PowerShell memiliki lebih banyak fungsi.

Saya memiliki skrip vbs yang secara otomatis memposting gambar ke salah satu blog. Ada kebutuhan untuk menyelaraskan gambar dengan lebar atau tinggi, tergantung pada resolusi gambar yang ditambahkan. Jadi saya tidak bisa mendapatkan resolusi gambar menggunakan skrip vbs, tetapi melalui PowerShell ini dilakukan dengan sangat sederhana.

Jika sebuah Dimulai dengan Windows 7, PowerShell dibundel dengan Windows itu sendiri, kemudian di Windows XP Anda perlu mengunduh dan menginstalnya - unduh PowerShell V2 untuk Windows XP SP3.

Powershell versi ke-5 dapat diunduh dari tautan: microsoft.com, ini juga menjelaskan file mana untuk OS yang diinginkan untuk diunduh dan cara menginstal.

Bagaimana cara menjalankan skrip PowerShell lokal?

Secara default, Windows tidak akan mengizinkan Anda menjalankan skrip PowerShell karena alasan keamanan. Anda harus mengizinkan eksekusi skrip lokal. Jalankan perintah di konsol (ini akan memungkinkan menjalankan skrip lokal dan skrip yang diunduh ditandatangani dengan sertifikat tepercaya):

powershell -Command Set-ExecutionPolicy RemoteSigned

Jika tidak, saat Anda mencoba menjalankan skrip, Anda akan melihat teks berikut:

Tidak dapat memuat file C:\ImageSize.ps1 karena skrip tidak diizinkan di sistem ini. Ketik "get-help about_signing" untuk informasi selengkapnya.
+ CategoryInfo: NotSpecified: (:), ParentContainsErrorRecordException
+ FullyQualifiedErrorId: RuntimeException

Untuk mengembalikan kebijakan keamanan ini, tulis:

powershell -Command Set-ExecutionPolicy Dibatasi

Untuk mengizinkan menjalankan skrip apa pun tanpa verifikasi tanda tangan, tulis:

powershell -Command Set-ExecutionPolicy Tidak Terbatas

Jika Anda melihat pesan berikut saat menjalankan skrip:

Peringatan Keamanan Jalankan hanya skrip yang Anda percayai. Meskipun skrip dari Internet dapat berguna, skrip ini berpotensi membahayakan komputer Anda. Apakah Anda ingin menjalankan \server\scripts\my.ps1? [D] Jangan jalankan [R] Jalankan sekali [S] Suspend [?] Help (default adalah "D"): d

Dan jika Anda ingin menghilangkannya, maka ketika Anda menjalankan skrip, gunakan parameter -ExecutionPolicy Bypass

Powershell -ExecutionPolicy Bypass -file "\\server\scripts\my.ps1"

Bagaimana cara menjalankan skrip PowerShell?

Masukkan perintah di baris perintah

Powershell -File nama-skrip-Anda.ps1

Di mana your-script-name.ps1 adalah nama skrip Anda. File skrip PowerShell memiliki ekstensi *.ps1

Bantuan atau bantuan dengan Windows PowerShell

PowerShell memiliki berbagai cmdlet untuk mendapatkan bantuan ini atau itu. Tapi yang paling penting adalah: Dapatkan-Bantuan

Masukkan perintah di konsol:

powershell -perintah Dapatkan-Bantuan

powershell -perintah Dapatkan-Bantuan -?

Dan dapatkan dua deskripsi berbeda yang saling melengkapi tentang cara menggunakan bantuan.

Fitur bantuan cukup luas, dengan contoh dan deskripsi terperinci dalam bahasa Rusia. Oleh karena itu, Anda dapat menampilkannya dalam berbagai format.

Sebagai contoh:

  • powershell -command Get-Help Get-Help - bantuan umum untuk cmdlet Get-Help
  • powershell -command get-help Get-Help -examples - contoh bagaimana Anda dapat menggunakan cmdlet get-help
  • powershell -command get-help Get-Help -detailed - bantuan mendetail untuk cmdlet get-help
  • powershell -command get-help Get-Help -full - bantuan terlengkap pada cmdlet get-help

winintro.ru/windowspowershellhelp.ru/ - bantuan dalam bentuk html-book

Catatan Powershell Windows:

Operator Perbandingan

  • -eq - Sama
  • -ne - Tidak sama - Tidak Sama
  • -ge - Lebih besar dari atau sama - Lebih besar dari atau Sama
  • -gt Lebih besar dari
  • -lt - Kurang dari - Kurang dari
  • -le - Kurang dari atau sama - Kurang dari atau Sama
  • -like - Perbandingan wildcard - Gunakan wildcard untuk mencocokkan pola
  • -notlike - Perbandingan wildcard - Gunakan wildcard untuk mencari inkonsistensi wildcard
  • -match - Perbandingan ekspresi reguler - Gunakan ekspresi reguler untuk mencocokkan pola
  • -notmatch - Perbandingan ekspresi reguler - Gunakan ekspresi reguler untuk mencari inkonsistensi pola
  • -ganti - Ganti operator - Mengganti sebagian atau seluruh nilai di sebelah kiri operator
  • -berisi - Operator penahanan - Tentukan apakah nilai di sebelah kiri operator berisi nilai di sebelah kanan. Hasilnya adalah nilai boolean
  • -notcontains - Operator penahanan - Menentukan bahwa nilai di sebelah kiri operator tidak berisi nilai di sebelah kanan. Hasilnya adalah nilai boolean

Secara default, operator perbandingan tidak peka huruf besar/kecil.
Untuk perbandingan peka huruf besar-kecil, perintah diawali dengan "c". Misalnya, operator -eq case sensitive diubah menjadi "-ceq".
Untuk perbandingan case-insensitive eksplisit, perintah diawali dengan "i". Contoh: operator -replace tidak peka huruf besar-kecil -ireplace

  • -adalah - Adalah tipe
  • -bukan - Bukan tipe
  • -as - Sebagai tipe, tidak ada kesalahan jika konversi gagal

Operator Logika PowerShell:

  • -dan - Kedua kondisi harus benar agar ekspresi benar
  • -atau - Satu atau kedua kondisi harus benar agar ekspresi menjadi benar
  • -xor - Satu kondisi harus benar dan yang kedua harus salah agar ekspresi menjadi benar
  • -not - Kondisi yang ditentukan harus bernilai "false" agar ekspresi menjadi true
  • ! - Kondisi yang ditentukan harus bernilai "false" agar ekspresi menjadi benar

$myVar -adalah "String" $myVar -eq 123 $myVar -ceq $myVar2 "abcdef" -seperti "abc*" "abcdef" -ganti "dEf","xyz" $myVar1 -adalah "String" -dan $myVar2 -adalah "Int" (1 -eq 1) -dan -bukan (2 -gt 2)

Operasi Tali

#Pisahkan string dengan spasi: $string = "Test string" $string.split(" ") $string.IndexOf(" ") #Search $string untuk spasi pertama # Mengembalikan indeks berbasis nol dari kemunculan pertama PS> "abcdeabcde".indexOf("cde") 2 # Mengembalikan posisi indeks dari kemunculan terakhir dari karakter yang ditentukan PS> "abcdeabcde".lastIndexOf("c") 7 # Mengembalikan substring mulai dari posisi 1 PS> " abcdefgh".Substring(1) bcdefgh # Mengembalikan substring yang dimulai dari posisi 1 dan 4 karakter PS> "abcdefgh".Substring(1,4) bcde # Masukkan substring dari posisi 0 PS> "abcdefgh".insert(0," X") Xabcdeabcde # Hapus dari posisi 0 panjang 2 PS> "abcdefgh".remove(0,2) cdeabcde # Properti objek - panjang string PS> "abcdefgh".length 8 # Mengembalikan True jika string berisi substring "cde" PS> "abcdefgh" .Contains("cde ") True # Mengembalikan True jika string dimulai dengan substring "abc" PS> "abcdefgh".startsWith("abc") True # Mengembalikan True jika string diakhiri dengan substring " fgh" PS> "abcdefgh".endsWith("fgh" ) Tru e # Mengembalikan True jika string berisi substring "cde" PS> $"abcdefgh" -like "*cde*" True # Mengembalikan array di mana "d" adalah pembatas PS> "abcdefgh" -split "d" abc efgh # Mengembalikan string gabungan dari dua ":" - pemisah PS> "abcdefgh", "xyz"-join ";" abcdefgh;xyz # Mengembalikan string di mana "abc" akan diganti dengan "XYZ" PS> "abcdefgh".replace("abc","XYZ") XYZdefgh # Mengembalikan string di mana karakter dikonversi ke huruf UPPER PS> "abcdefgh ".ToUpper() ABCDEFGH # Mengembalikan string di mana karakter dikonversi menjadi huruf kecil PS> "ABCDEFGH".ToLower() abcdefgh

Variabel yang telah ditentukan sebelumnya

$rumah– direktori pengguna
$NULL- kosong
$benar- kebenaran
$salah- berbohong
$DebugPreference– “Continue” output debugging, “SilentlyContinue” tidak menampilkan informasi debugging. Lihat Perintah Tulis-Debug

Bekerja dengan file

$string | Out-File $file -Tambahkan #Tambahkan $string dengan baris baru ke file $file $string = get-content -Path $file #Dapatkan isi file dalam $string $file $jokes = ::ReadAllText($file ) #membaca seluruh file menjadi satu baris Test-Path "C:\test.txt" #Periksa apakah file ada

Temukan semua file dengan ekstensi nama file tertentu di direktori dan subdirektori.
Kemudian salin file-file ini ke direktori lain.

$flist = get-childitem e:\doc\* -include *.pdf -recurse $flist | ForEach-Object($_.CopyTo("e:\doc\all_pdf\" + $_.PSChildName)) ls d:\ | ?($_.psiscontainer) | pilih nama lengkap #Tampilkan direktori saja ls d:\ | ?(!$_.psiscontainer) | pilih fullname #Show files only $local = Get-Location #Current directory $local.Path # Working directory $local.Drive.Root # Root $local.Drive.Name # Huruf drive $local.Drive.Used # Drive bekas $local .Drive.Gratis # Gratis di disk

Menampilkan nama lengkap file di drive D: yang telah diubah antara 1 Juni 2014 dan 20 September 2014:

Ls d:\ -recurse | ?(!$_.psiscontainer) | pilih nama lengkap,LastWriteTime | Where-Object ( $_.LastWriteTime -ge "06/01/2014" -dan $_.LastWriteTime -le "20/09/2014")

Menampilkan teks di layar

# teks untuk diperhatikan. Disorot dengan warna kuning. Write-Warning("Teks memerlukan perhatian") # Hanya menampilkan teks Write-Host("Hanya teks") #aktifkan keluaran debug $DebugPreference = "Lanjutkan" # cetak informasi debug Write-Debug "Tidak dapat membuka file." # output debug dinonaktifkan $DebugPreference = "SilentlyContinue"

Jeda selama beberapa detik

Mulai-Tidur -s 15 # Jeda selama 15 detik

Jeda di konsol sampai Enter ditekan

Baca-Host "Tekan Enter"

Bekerja dengan proses

#Tugas: matikan semua proses bernama Notepad # Metode #1 get-proses Notepad | Stop-Process # Metode #2 (Hanya bekerja dengan satu proses) $plist = get-process Notepad $plist.Kill() # Metode #3 (sama seperti 2, tetapi semua proses) $plist = get-process Notepad $ plist | ForEach-Object ($_.Kill()) #Dapatkan proses dan tanggal mulainya: Get-Process| Format-Nama Tabel,Waktu Mulai -UkuranOtomatis

Kenaikan

$i++ - pada saat memanggil saya memiliki nilai lama, tetapi setelah itu meningkat 1++

++$i - pada saat panggilan, i bertambah 1

Array

$array = 17,15,160 #membuat array dengan tiga elemen $array -berisi $element #apakah array berisi elemen $file1 #0elemen dari $file1.count array #size dari array #menghapus elemen "asdf" dari array $array = @ ("adsf","adf","erge") $array = $array |? ($_ -ne "adf") #dapatkan hanya elemen array unik $a = @(1,2,3,4,5,5,6,7,8,9,0,0) $a = $a | pilih -uniq #index kemunculan elemen pertama dalam array $array.indexOf("cde")

Jika Elseif Else membangun

if ($i -eq 0) ( Write-Host("i is zero") ) ElseIf ($i -eq 1) ( Write-Host("i sama dengan satu") ) Else ( Write-Host("i tidak sama dengan nol atau satu")

Untuk Setiap Loop

$services = Get-Service ForEach ($service in $services) ( $service.Stop() ) 65 #konversi kode ASCII ke karakter "A" #konversi karakter ke kode ASCII "Halo" #konversi string ke kode ASCII

Menunggu tombol apa saja untuk ditekan:

$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL $HOST.UI.RawUI.Flushinputbuffer() $host.ui.RawUI.WindowTitle = "(!LANG:elimS Judul Jendela" #задаем заголовок окна !}

Tipe Data di PowerShell

Jenis yang paling umum:

String karakter Unicode dengan panjang tetap A Unicode 16-bit character Karakter 8-bit unsigned integer 32-bit signed integer 64-bit Boolean Nilai True/False Nilai desimal 128-bit Single-precision 32-bit floating point number Double -presisi 64-bit nomor floating point Tanggal dan Waktu objek Xml Array nilai objek Hashtable

Ada juga konstanta bawaan: $true,$salah, $null

Unikode: Untuk menyandikan karakter Unicode dalam string PowerShell, awali unicode dengan 0x dan masukkan ke System.Char:

PS > 0x263a

Konversi Tipe Data

Untuk memaksa konversi ke tipe data tertentu, awali nilai atau variabel dengan tipe dalam tanda kurung siku, ini dikenal sebagai Operator pemeran dan memaksa tipe data yang dipilih:

PS C:\> "0064" 64 PS C:\> $false 0 PS C:\> ("0x" + "FF") 255

Menguji Tipe Data

PS C:\> 32 -adalah
Benar PS C:\> $true -is
BENAR

Fungsi di Powershell

function elimS ( #a fungsi yang memiliki beberapa parameter input param($string = "default", $integer = 7) #input parameter write-host "string = " $string " | integer = " $integer ) elimS #memanggil fungsi tanpa definisi parameter, parameter akan mengambil nilai default $string = "test string" $integer = 911 elimS $string $integer #inilah cara memanggil fungsi dengan benar - kita pisahkan parameter dengan spasi elimS -integer $integer - string $string #ini juga benar $global:var1 = "test" adalah variabel global, jadi Anda dapat meneruskan nilai variabel dari fungsi.

Lebih lanjut tentang cara meneruskan beberapa parameter ke suatu fungsi:

Istirahat

get-host #show versi powershell Clear-RecycleBin c: -Force #empty trash Compress-Archive -Path C:\test\* -DestinationPath C:\archive\test1.zip #zip folder Expand-Archive -Path C:\temp \test1.zip "C:\test\New folder\" #unpack archive (Get-CimInstance Win32_operatingSystem).lastbootuptime #tampilkan waktu boot sistem write-host $sleep_array.GetType().FullName #show variable type switch ($a) ( #case - kelipatan jika 1 ($b = $b+10 ) 2 ($b = $b+20 ) 3 ($b = $b+30 ) 4 ($b = $b+40 ) default ($b = $b+50) ) Get-Content -Path "C:\scripts\test.txt" -Tunggu #similar to tail di linux

cmdlet powershell

Sortir-Objek- mengurutkan objek dalam urutan menaik atau menurun berdasarkan nilai properti objek. Anda dapat mengatur satu properti atau beberapa properti (mengurutkan berdasarkan beberapa kunci), dan Anda dapat memilih pengurutan peka huruf besar atau kecil. Anda juga dapat membuat cmdlet Sort-Object hanya menampilkan objek dengan nilai unik untuk properti tertentu.

Salin Barang- menyalin elemen dari satu lokasi di namespace ke yang lain. Cmdlet Copy-Item tidak menghapus item yang disalin. Jenis elemen yang dapat disalin cmdlet ditentukan oleh keberadaan penyedia Windows PowerShell. Misalnya, menggunakan cmdlet dengan penyedia FileSystem menyalin file dan folder, saat menggunakan penyedia registri menyalin kunci dan entri registri.

Pindahkan Barang- memindahkan elemen, termasuk properti, konten, dan elemen turunannya, dari satu lokasi ke lokasi lain. Kedua lokasi yang diberikan harus didukung oleh penyedia yang sama. Misalnya, Anda dapat memindahkan file atau subdirektori dari satu direktori ke direktori lain, atau memindahkan subkunci registri dari satu subdirektori ke subdirektori lainnya. Saat Anda memindahkan elemen, elemen tersebut akan dihapus di lokasi aslinya dan dibuat di lokasi baru.

Hapus-Item- menghapus satu atau lebih elemen. Cmdlet ini didukung oleh banyak vendor, sehingga dapat menghapus berbagai jenis item, termasuk file, direktori, kunci registri, variabel, alias, dan fungsi.

Dapatkan-AnakItem- Mendapatkan elemen dari lokasi tertentu. Jika elemen adalah wadah, cmdlet ini mendapatkan elemen dari wadah, yang disebut elemen anak. Anda dapat menggunakan opsi Recurse untuk mengambil item dari semua container anak. Lokasi dapat berupa lokasi pada sistem file, seperti direktori, atau lokasi yang disediakan oleh penyedia lain, seperti kumpulan registri atau penyimpanan sertifikat.

opsi cmdlet powershell

-ErrorAction- parameter ada di semua cmdlet, memungkinkan Anda untuk mengatur tindakan yang akan dilakukan ketika terjadi kesalahan:

  • Lanjutkan - tampilkan pesan kesalahan dan lanjutkan eksekusi
  • Diam-diamLanjutkan - abaikan kesalahan dan lanjutkan
  • Stop - hentikan eksekusi pada kesalahan pertama
  • Tanyakan - ketika terjadi kesalahan, tanyakan apa yang harus dilakukan selanjutnya

Contoh: Copy-Item "d:\test1\klbackup*" "d:\test2\" -ErrorAction stop

-Bagaimana jika- Menampilkan pesan yang menjelaskan hasil perintah tanpa benar-benar mengeksekusinya. Hadir di semua cmdlet.

dapatkan bantuan tentang_CommonParameters- deskripsi parameter yang dapat digunakan dengan cmdlet apa pun.

SSH melalui Powershell

Contoh bagaimana Anda dapat bekerja melalui SSH:

#instal modul SSH, sekali Temukan-Modul Posh-SSH | Install-Module #Buat sesi SSH: Import-Module Posh-SSH $ComputerName = "1.2.3.4" $UserName = "ubuntu" $KeyFile = "C:\SSH\key.pem" $nopasswd = objek baru System. Keamanan .SecureString $Crendtial = Objek Baru System.Management.Automation.PSCredential ($UserName, $nopasswd) $SSHSession = New-SSHSession -ComputerName $ComputerName -Credential $Crendtial -KeyFile $KeyFile #Buat shell: $SSH = $ SHSSesi | New-SSHShellStream # kirim perintah $SSH.WriteLine("ifconfig") # baca respons $SSH.read() #tutup sesi: $sshSession | Hapus-SSHSession

Tim:

  • Get-SSHTrustedHost - lihat host tepercaya
  • Get-SSHSession - melihat daftar sesi terbuka
  • Hapus-SSHSession - tutup sesi

Catatan. Anda dapat menggunakan modul ini tanpa menginstal WMF 5.0. Pratinjau modul untuk PS 4.0 dan 3.0 tersedia secara terpisah - Maret 2016, dan untuk yang lebih baru, cari Pusat Unduhan untuk Pratinjau Modul PowerShell PackageManagement .

Menginstal program

Contoh ini menginstal empat program dan set lengkap utilitas Sysinternals dari repositori Chocolatey. Tiga perintah pertama dijalankan sekali, dan perubahan kebijakan harus dikonfirmasi. Perintah keempat secara diam-diam menginstal program yang terdaftar, dan yang kelima hanya menghemat waktu.

#Izinkan pemasangan paket yang ditandatangani dari Internet Set-ExecutionPolicy RemoteSigned #Set Penyedia Chocolatey Get-PackageProvider –Nama Chocolatey -ForceBootstrap #Make Chocolatey terpercaya Set-PackageSource -Nama Chocolatey -Trusted #Install program Install-Package NotepadPlus, vlc, firefox, filezilla , sysinternals -Verbose -Force -ProviderName chocolatey #Tambahkan jalur ke file yang dapat dieksekusi (sysinternals) ke PATH setx PATH "$env:path;C:\Chocolatey\bin" -m

Penyedia mengunduh ke C:\Chocolatey\lib sebuah paket berdasarkan skrip chocolateyInstall.ps1. Ini mengunduh penginstal program dari situs web resmi ke folder %temp%\Chocolatey dan menjalankannya dalam mode penginstalan senyap. Contoh paling sederhana adalah Notepad++.

Instal-ChocolateyPackage "notepadplusplus" "exe" "/S" "https://notepad-plus-plus.org/repository/6.x/6.9/npp.6.9.Installer.exe"

Pencarian program

Ada banyak program di repositori, semua yang paling populer pasti ada.

Temukan-Paket "*zip*","*commander*" -ProviderName Chocolatey

Jenis penginstal dan kunci penginstalan senyap

  • Situs AutoInstall Windows dan Forum AutoInstall Perangkat Lunak
  • Menginstal pembaruan Windows melalui Powershell

    • Unduh Modul PowerShell Pembaruan Windows dari situs web microsoft.
    • Buka paket arsip ke folder %WINDIR%\System32\WindowsPowerShell\v1.0\Modules
    • Jika Anda belum mengizinkan menjalankan skrip lokal, mari kita lakukan: "Set-ExecutionPolicy RemoteSigned".
      • Anda dapat memeriksa dengan perintah "Get-ExecutionPolicy": seharusnya "RemoteSigned" bukan "Restricted"
    • Impor modul yang diunduh dengan perintah: "Impor-Modul PSWindowsUpdate"
    • Siap. Sekarang Anda dapat menggunakan perintah:
      • Lihat daftar pembaruan yang tersedia: Dapatkan-WUInstall -ListOnly
      • Instal semua pembaruan tanpa meminta konfirmasi: Dapatkan-WUInstall -AcceptAll
      • Instal semua pembaruan tanpa meminta konfirmasi dan tunda reboot: Get-WUInstall -AcceptAll -IgnoreReboot
      • Instal pembaruan tertentu dengan mengetahui nomornya:"Get-WUInstall -KBArticleID KB3066441, KB3078676 -AcceptAll -IgnoreReboot" - sekarang Anda tidak perlu pergi ke situs microsoft dan mengunduhnya secara manual
      • Bantuan terperinci untuk modul: get-help Get-WUInstall -detailed
      • Lihat daftar pembaruan yang tersedia tidak termasuk kategori "Paket bahasa", judul "Skype", dan pembaruan KB3012973: Get-WUInstall -NotCategory "Paket bahasa" -NotTitle Skype -NotKBArticleID KB3012973 -ListOnly
      • Instal pembaruan tidak termasuk kategori "Paket bahasa", judul "Skype" dan perbarui KB3012973: Get-WUInstall -NotCategory "Paket bahasa" -NotTitle Skype -NotKBArticleID KB3012973 -AcceptAll -IgnoreReboot

    Halo. =)
    Artikel menghujat lainnya tentang mengelola Windows Server dikhususkan untuk persiapan awal OS untuk digunakan. Dimanjakan oleh kenyataan bahwa dalam versi dasar Windows Server dengan GUI (Graphical user interface), serta di Windows Server 2012 Core dan lebih tinggi, Powershell sudah diinstal, saya sangat bingung dengan kenyataan bahwa di Windows Server 2008R2 Core itu tidak berbau seperti itu. Karena pengaturannya tidak terlalu jelas dan saya harus google dan technet, saya memutuskan untuk menuliskan sedikit catatan untuk masa depan.

    Jadi, pertama-tama kita akan mendapatkan setidaknya PowerShell 2.0 (sebenarnya, langkah ini dapat dilewati dengan melakukan semua yang dijelaskan di bawah dalam cmd, tetapi saya mulai dengan ini). Ini dapat dilakukan dengan dua cara: dengan menjalankan utilitas sconfig.cmd pada baris perintah atau melalui DISM ( Layanan dan Manajemen Gambar Penerapan) di sana. Yang pertama menawarkan kita antarmuka grafis semu, di mana di bawah poin 4 kita akan menemukan kesempatan untuk menginstal PS 2.0.

    Melalui DISM, hal ini dilakukan sebagai berikut:
    dism.exe /online /enable-feature:MicrosoftWindowsPowerShell

    Setelah menginstal PS, mem-boot ulang dan memiliki alat yang sedikit lebih memadai, kami akan mencoba memperbaruinya ke versi saat ini. Pada saat penulisan ini, ini adalah versi 4.0 atau pratinjau versi 5.0. Bagi saya, versi 3.0 adalah versi minimum yang dapat digunakan, yang sudah memiliki banyak cmdlet untuk mengelola peran server dan sumber daya yang tidak ada di versi kedua. Windows PowerShell 3.0 memerlukan .Net Framework 4.0 atau yang lebih baru untuk diinstal pada sistem.
    Jika kami mencoba menginstal .Net 4.0 sekarang, kami akan menemukan bahwa untuk ini kami membutuhkan .Net 2.0 yang sudah diinstal, yang karena alasan tertentu tidak ada dalam edisi Server Core. Ini lucu, tetapi karena kebiasaan, mengunduh penginstal dan menjalankannya, kami akan mendapatkan penolakan untuk menginstal dan memperhatikan bahwa kami perlu menggunakan dism.exe. >_< OK, dism, так dism. Уставливается по аналогии с PS:
    dism.exe /online /aktifkan-fitur: NetFx2-ServerCore
    dism.exe /online /enable-fitur: NetFx2-ServerCore-WOW64

    Langkah selanjutnya adalah memperbarui .Net Framework ke versi terbaru. Jika Anda ingin menggunakan Powershell 3.0, instal .Net 4.0, dan jika Anda menginginkan versi terbaru, Anda memerlukan .Net 4.5.1 dan yang lebih tinggi. Pilihan ada di tangan Anda, instalasi sangat sederhana. Tangkapannya hanya dalam mendapatkan paket penginstal - saya menghubungkan drive jaringan ke server, di mana saya mengunggah semua file instalasi; Anda dapat menggunakan media apa pun yang nyaman bagi Anda.

    Jadi, kami telah menyiapkan dasar untuk menginstal PS versi 3.0 dan lebih tinggi. Langkah selanjutnya adalah mengunduh penginstal Windows Management Framework dan menginstalnya. Unduh dan jalankan KB2819745 arsitektur yang kita butuhkan:

    Secara tradisional, setelah instalasi, kita perlu reboot, setelah melakukannya, kita akan memiliki PowerShell 4.0.

    Omong-omong, agar dapat menggunakan cmdlet Add-WindowsFeature (berganti nama menjadi Install-WindowsFeature di Windows Server 2012) untuk mengonfigurasi peran server, Anda harus menginstal komponen Server Manager melalui DISM.EXE yang sama. Ini terlihat seperti ini:
    dism.exe /online /enable-feature:ServerManager-PSH-Cmdlet s
    Secara umum, saya sangat dimanjakan dengan PS versi terbaru, tk. Saya mengambilnya setelah rilis versi ketiga, tetapi ternyata, dism.exe juga dapat dibatasi untuk menginstal peran. Dan jika Anda tidak tahu nama fitur yang Anda butuhkan, maka Anda selalu dapat melihat semua opsi yang tersedia dan statusnya melalui parameter /get-features. Tapi bagi saya, Get-WindowsFeature jauh lebih informatif. =)
    dism.exe /online /get-features vs. Dapatkan-WindowsFeature