Geek School: Menulis Skrip PowerShell Penuh Pertama Anda

Geek School: Menulis Skrip PowerShell Penuh Pertama Anda
Geek School: Menulis Skrip PowerShell Penuh Pertama Anda
Anonim

Sekarang kita tahu di mana kita boleh mencari maklumat yang kita cari, buka ISE dan taip yang berikut.

Nota: Saya terpaksa membahagikan kod saya kepada dua baris supaya semuanya muat ke dalam tangkapan skrin, tetapi jangan ragu untuk menaipnya pada satu baris. Jika anda memilih untuk membahagikannya kepada dua baris, sila pastikan watak paip ialah aksara terakhir pada baris 1.

Imej
Imej

Sekarang klik pada butang “Jalankan Skrip” hijau atau tekan kekunci F5 pada papan kekunci anda untuk menguji kod.

Imej
Imej

masa WMI boleh menjadi agak samar. Maksud kami, jika anda melihat sifat LastBootUpTime, ia berkata 2013-03-19 pada 18:26:21, tetapi atas sebab tertentu, lelaki WMI memutuskan untuk menggabungkan semua itu menjadi satu rentetan. Nasib baik bagi kami, kami tidak perlu risau tentang menghuraikan rentetan secara manual kerana terdapat cara yang lebih mudah untuk melakukannya, walaupun lebih maju. Anda perlu menukar bahagian Select-Object pada kod supaya kelihatan seperti ini:

Apa yang kami lakukan di sini ialah mencipta sifat tersuai yang dipanggil "Last Booted" dan menyatakan bahawa nilainya mestilah hasil daripada memanggil kaedah statik ToDateTime pada sifat LastBootUpTime bagi objek saluran paip semasa. Kod anda kini sepatutnya kelihatan seperti ini.

Imej
Imej

Menjalankan kod sekarang akan menghasilkan masa but terakhir yang lebih mudah dibaca.

Imej
Imej

Sekarang kami berpuas hati dengan fungsi asas skrip kami, kami perlu menyimpannya. Untuk memudahkan, mari simpannya seperti berikut:

Imej
Imej

Sekarang beralih ke separuh bahagian bawah ISE dan jalankan yang berikut:

Imej
Imej

Hebat! Skrip kami berfungsi seperti yang diharapkan, namun masih terdapat satu masalah dengan skrip kami. Kami mengekodkan nama komputer yang kami ingin dapatkan masa but terakhir. Daripada nilai pengekodan keras, kami lebih suka menyediakan parameter supaya sesiapa yang menggunakan skrip boleh memilih komputer yang mereka gunakan untuk menjalankan skrip. Untuk melakukannya, pergi ke bahagian atas skrip anda dan lakukan perkara berikut.

Kemudian gantikan nilai localhost berkod keras dengan pembolehubah $ComputerName. Skrip anda kini sepatutnya kelihatan seperti ini:

Imej
Imej

Simpan skrip anda, kemudian kembali ke bahagian bawah ISE dan lihat bantuan untuk skrip anda.

Imej
Imej

Hebat, jadi sekarang kami boleh menentukan nama komputer yang kami ingin dapatkan masa but terakhir untuk menggunakan parameter ComputerName baharu kami. Malangnya, masih terdapat beberapa perkara yang tidak kena. Pertama, parameter ComputerName adalah pilihan dan kedua, itu adalah bantuan paling jelek yang pernah saya lihat, jadi mari kita selesaikan isu tersebut dengan cepat. Untuk menjadikan parameter ComputerName wajib, tukar kandungan blok param kepada yang berikut.

Bagi membuat fail bantuan yang lebih baik, kaedah yang paling biasa ialah menggunakan bantuan berasaskan ulasan. Ini bermakna kami hanya menambah ulasan yang lebih panjang pada bahagian atas skrip keluar.

Setelah semua itu selesai, anda sepatutnya mendapat skrip yang kelihatan seperti ini.

Imej
Imej

Mari kita pergi dan lihat fail bantuan baharu kami.

Imej
Imej

Ahhh, nampak hebat! Sekarang setelah skrip kami selesai, kami mempunyai satu perkara terakhir yang perlu dilakukan: ujian. Untuk ini, saya akan keluar dari ISE dan kembali ke konsol PowerShell hanya supaya kami dapat memastikan tiada anomali.

Imej
Imej

Jika anda bermula dengan satu pelapik yang ringkas dan terus membinanya seperti yang kami lakukan dalam panduan ini, anda akan memahaminya dalam masa yang singkat. Itu sahaja untuk kali ini kawan-kawan, jumpa lagi dalam pemasangan Geek School yang seterusnya.

Topik popular.