Sebagai administrator Unix dan Windows yang melakukan banyak scripting Unix dan hampir tidak ada scripting Windows, saya akan mengatakan bahwa itu sebagian karena kecanggungan yang luar biasa dari utilitas dan API scripting Windows, dan kesulitannya (mungkin ketidakjelasan akan menjadi kata yang lebih baik) menjalankan sesuatu dari jarak jauh pada mesin Windows.
Maksud saya, apakah ini WTF?
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Sebagian dari masalah, saya pikir, adalah bahwa ada adalah sebuah API. Di bawah Unix, admin sebagian besar membuat skrip otomatisasi utilitas baris perintah yang sudah mereka gunakan. Di bawah Windows, Anda harus menggunakan API ini yang tidak dikenal di setiap level. Misalnya, apa yang dimaksud dengan "peniruan"? Ini adalah konsep sepele untuk admin Unix, yang kemungkinan akan menggunakan sudo dan su dan sudah terbiasa dengan skrip setuid. Tetapi admin Windows sepertinya tidak terbiasa dengan semua itu; mereka mungkin tahu tentang "runas" (atau opsi GUI yang setara), tetapi mereka jauh lebih mungkin untuk masuk sebagai administrator ketika mereka perlu melakukan sesuatu admin-y.
Dan dokumentasi tentang scripting di Windows menyedihkan. Untuk satu hal, itu jauh lebih "bahasa yang ditafsirkan" daripada skrip, sekali lagi karena mereka menggunakan API (asing) dan bukan perintah yang sudah mereka kenal. Tapi saya tidak berpikir saya pernah menemukan sesuatu yang berguna dalam dokumentasi Microsoft yang tidak mengarah dengan menemukan seseorang yang sudah melakukan sesuatu yang dekat dengan apa yang saya inginkan yang mengarahkan saya ke arah yang benar. Tampaknya tidak ada daftar hal-hal yang dapat Anda lakukan. Sepertinya Anda sudah terbiasa dengan Windows internal untuk melakukan hal-hal yang paling mendasar.
Bukan berarti skrip Unix tidak sering terlihat seperti derau baris. Tetapi admin Unix dapat mulai dengan skrip yang tidak melakukan apa pun kecuali menjalankan perintah sederhana yang sudah ia ketahui. ("Saya selalu harus menjalankan ketiga perintah ini secara berurutan. Jika saya hanya memasukkannya dalam satu file, saya dapat melakukannya dalam satu perintah!") Dan kemudian dia bisa maju ketika dia merasa nyaman dengan situasi. Sebaliknya, admin tidak dapat membuat skrip "masuk ke server sebagai administrator; klik Mulai → Pengaturan → Panel Kontrol; klik dua kali Sistem; klik pada tab Nama Komputer; dll." Ya, apa pun yang ia coba hubungi mungkin disajikan melalui API di suatu tempat, tetapi tidak ada cara baginya untuk secara bertahap menemukan itu.
Jadi, untuk menjawab pertanyaan "bagaimana kita bisa membuat admin Windows melakukan lebih banyak skrip?", Jawabannya adalah, membuat skrip kurang asing. Bagaimana cara melakukannya, saya tidak tahu.
Jujur, jawabannya ada di tangan Microsoft. Tidak ada alasan bahwa mereka tidak dapat memiliki utilitas baris perintah untuk melakukan semua yang dilakukan melalui GUI. (Sebenarnya ada banyak dari mereka di luar sana sekarang, tetapi mereka tidak diiklankan, mereka didokumentasikan dengan buruk, dan mereka tidak konsisten.) Juga tidak ada alasan bahwa tidak ada petunjuk dalam GUI tentang apa tombol yang sebenarnya. Miliki tooltip yang menunjukkan objek API yang sedang dimodifikasi. Atau dokumentasikan di jendela Bantuan.
Tidak ada masalah dalam melindungi pengguna dari internal, tetapi Windows tampaknya pergi keluar dari cara untuk secara aktif menyembunyikan internal itu, bahkan dari mereka yang ingin menemukannya.
ls -1 *old* | awk '{print "mv "$1" "$1}' | sed s/old/new/2 | sh
ls
. Ketiga, saya akan mempertimbangkansed
danawk
relatif maju, dan tentu saja di arena yang sama dengan Windows API yang saya bicarakan. Ketiga dan setengah, sementara beberapa (banyak) perintah skrip Unix kompleks, Anda tidak harus mulai dari sana & mdash; Anda dapat melakukan hal-hal sederhana seperti hanya memiliki daftar perintah yang sudah Anda kenal & mdash; sedangkan jika Anda ingin melakukan apa saja dengan Windows, Anda memiliki kurva pembelajaran yang sangat besar untuk diukur terlebih dahulu. Namun, memperbarui jawabannya.Beri mereka tugas yang benar-benar hanya dapat dilakukan melalui skrip - misalnya, saya pernah membuat skrip pembuatan ratusan folder dan izin khusus untuk setiap folder dan itu harus diperbarui SETIAP HARI. Jika mereka melakukan ini secara manual, itu akan menjadi tugas mereka sendiri. Skrip, yang menggunakan CACLS antara lain untuk mengatur ulang izin berdasarkan output dari file teks yang dibatasi, membutuhkan waktu satu hari untuk sempurna (skrip dasar dilakukan dalam waktu sekitar satu jam).
Ketika Anda mulai melihat apa yang dapat Anda lakukan dengan scripting, itu bisa menjadi kemenangan besar.
sumber
Saya pernah menyewa seorang sysadmin yang langsung menolak melakukan 'pemrograman'. Saya mencoba menunjukkan kepadanya cara memimpin dengan memberi contoh. Yang terbaik yang bisa saya dapatkan darinya adalah dengan menggunakan kode yang ada & memodifikasi tugas variabel atau nama host dll. untuk menyelesaikan pekerjaan. Beberapa orang tidak terganggu dengan pemrograman, jadi Anda perlu menurunkan penghalang untuk mereka.
Microsoft membuat jalan untuk ini. Di SQL Server, mungkin untuk sementara waktu sekarang untuk mengklik pada hal-hal di Management Studio GUI & kemudian membuang skrip t-sql dari apa yang baru saja Anda lakukan. Ini bagus, terutama untuk pemrograman yang tidak terlalu cenderung windows sysadmin.
Saya perhatikan bahwa System Center Virtual Machine Manager memiliki fitur skrip tampilan yang sama, kecuali ia mengeluarkan skrip PowerShell. Saya pikir banyak lini produk lain juga memperkenalkan ini.
Bagaimana cara memotivasi admin ke dalam scripting? panggilan yang sulit, admin yang baik adalah admin yang malas & itu berarti admin yang akan menulis sebanyak mungkin. Admin yang memiliki waktu untuk mengklik pada hal-hal yang tidak terlalu produktif! Kelebihan admin Anda dengan begitu banyak pekerjaan, sehingga mereka tidak punya pilihan selain skrip.
sumber
Saya sepenuh hati setuju dengan posting Anda. Sayangnya, saya tidak berpikir banyak yang bisa dilakukan tanpa dukungan dari manajemen dan proses yang menerapkan skrip. Diberi pilihan, orang akan selalu pergi dengan apa yang akrab dan apa yang mudah. Kadang-kadang, ini mungkin tampak seperti poin negatif, tetapi ada kalanya kesederhanaan dan keakraban merupakan nilai tambah.
Di satu sisi, sistem Windows secara implisit dimaksudkan untuk menjadi sederhana / mudah sementara sistem Unix / Linux jauh lebih sulit dan kurang memaafkan. Jadi siapa yang bisa menyalahkan admin karena mengambil jalan dengan resistensi paling rendah? Sementara Anda, atau saya atau banyak orang lain mungkin mengenali kekuatan skrip, orang akhirnya akan belajar dengan satu atau lain cara. Biasanya, admin yang tidak setuju dengan scripting belajar dengan cara yang sulit. Saya suka bekerja lebih pintar, orang lain mungkin hanya suka bekerja.
Dulu saya berpikir Anda bisa memotivasi orang, tetapi kenyataannya adalah kecuali Anda bertanggung jawab atas mereka, kemungkinan "motivasi" yang berhasil sangat rendah. Sikap saya hari ini adalah: mereka yang ingin belajar, saya akan membantu. Jangan menjadi salesman untuk produk yang tidak diinginkan siapa pun terlepas dari apakah mereka membutuhkannya. Ketika Anda membantu / mengajar hanya satu orang yang termotivasi (untuk alasan apa pun), mereka akan menjadi katalisator untuk perubahan. Bukan kamu. Hanya dua sen saya.
sumber
Mantra yang saya gunakan adalah "Bekerja lebih cerdas, Tidak sulit". Melakukan proses apa pun lebih dari beberapa kali berarti bahwa biasanya ada cara Anda dapat membuat skrip untuk menyelesaikannya secara otomatis dengan klik mouse, skrip bash, atau metode lainnya. Cara saya melihatnya, ini secara pribadi membebaskan saya untuk melakukan tugas-tugas yang lebih penting yang tidak begitu banyak "tenaga manual" administrasi sistem.
Mereka yang ingin menghindari skrip mungkin memiliki beberapa hal yang berjalan di kepala mereka. Mungkin mereka menikmati antarmuka GUI dan tidak ingin belajar baris perintah atau pemrograman. Mungkin mereka berpikir bahwa dengan menuliskan sesuatu, mereka pada dasarnya mengurangi harga diri mereka sendiri. Either way, ini bukan jenis karyawan yang ingin saya miliki dan keengganan untuk melakukan segala jenis penulisan menunjukkan jenis pekerja seperti apa mereka. Saya lebih suka memiliki pemecah masalah daripada administrator sistem "bodoh".
Sejauh mendorong dan memotivasi mereka, saya akan mengatakan hanya melakukan apa yang Anda lakukan, menunjukkan keuntungan dalam produktivitas dan bagaimana hal itu dapat membuat pekerjaan mereka lebih mudah. Bagi sebagian orang, menjadi Admin Sistem Windows hanyalah sebuah gaji, dan akan sulit untuk memotivasi mereka untuk bergerak melampaui mentalitas point-and-klik yang telah bekerja untuk mereka selama 10 tahun terakhir.
sumber
Ada beberapa masalah yang harus Anda atasi, Anda telah menyebutkan satu, bahwa banyak administrator tidak ingin terlibat dalam pemrograman, bahkan tingkat rendah seperti scripting. Yang lain terkait dengan ini, dan ini adalah masalah kontrol. Ketika seorang admin melakukan tugas secara manual, mereka tahu persis apa yang terjadi pada setiap tahap. Banyak administrator mungkin merasa bahwa dengan mengganti ini dengan skrip mereka kehilangan kendali atas proses, terutama jika mereka tidak mengerti skrip, dan tidak menulis skrip (dan tidak ingin menulisnya).
Saya pikir ini lebih merupakan masalah dengan admin Windows daripada yang Unix sebagai scripting telah menjadi bagian besar dari administrasi Unix untuk waktu yang lama dan umumnya sesuatu yang dipelajari admin Unix dari awal, di mana sebagai administrasi Windows, dan GUI yang melekat padanya. ness mengarah ke proses yang lebih manual dan skrip bisa tampak tidak wajar.
Sayangnya mendapatkan pengembang lebih dari punuk ini adalah pertempuran yang sulit. Agar admin masih merasa bahwa mereka memegang kendali, mereka perlu memahami apa yang dilakukan skrip, dan karenanya benar-benar perlu memahami dan mempelajari cara skrip, dan satu-satunya cara Anda akan membuat mereka melakukan ini adalah jika mereka sangat mengerti apa yang dapat dilakukan skrip terhadap mereka
Itu semua dengan sangat baik mengatakan itu akan membuat segalanya lebih cepat, membuat hidup lebih mudah dll, tetapi dapatkah Anda membuktikannya kepada mereka? Temukan tugas yang mereka benci, yang harus mereka lakukan secara teratur dan coba dan otomatiskan. Jika Anda dapat mengambil tugas yang mengerikan ini, dan membuatnya menjadi skrip klik tunggal, mereka akan mencintai Anda, tetapi yang lebih penting mereka mungkin melihat manfaat dari menggunakan skrip.
sumber
[menghela nafas] Ini terlalu lazim di dunia Windows, meskipun saya akan mempertanyakan pernyataan Anda tentang mayoritas tidak ingin pony up dan belajar menulis naskah. Hal terbesar mutlak yang pernah saya lakukan dalam karir sysadmin saya adalah belajar VB dan Perl, yang mengarah ke VBS, yang menyebabkan BANYAK hal lain.
Jika hanya menunjukkan mereka tidak bekerja untuk memotivasi, satu trik yang saya suka gunakan adalah membuang pernyataan halus di depan manajemen :) Sebut itu menyedot jika Anda mau, tapi ternyata tidak. Tunjukkan kepada para pembuat keputusan manfaat, seringkali itu mulai berkembang biak melalui kelompok. Namun, jangan menyebalkan tentang itu.
Pada nada yang lebih halus, sulit (jika bukan tidak mungkin) mengubah seseorang. Menurut contoh!
sumber
Pertanyaan ini sangat subyektif. Sementara saya setuju dengan efisiensi dan peningkatan kontrol yang diberikan skrip, mengapa harus menjadi mandat? Mengapa Anda perlu mendorong orang untuk menggunakan skrip hanya karena Anda suka menggunakannya? Mengapa tidak membiarkan orang memilih untuk menggunakan alat yang mereka sukai dan sukai?
Pertanyaan ini juga menggambarkan bias umum yang ada di dunia IT: Bahwa jika saya tidak skrip saya tidak boleh sepintar atau sebaik orang yang membuat skrip, dan itu salah. Saya sudah kenal banyak orang yang bisa skrip lebih baik dari saya, tetapi mereka tidak bisa subnet untuk menyelamatkan hidup mereka atau mencari cara menjalankan jejak jaringan, atau mengkonfigurasi server SQL untuk menggunakan AWE, atau tidak tahu apa boot. file ini untuk, dll., dll.
sumber
Jujur, Anda bisa menuntun kuda ke air, tetapi Anda tidak bisa membuatnya minum.
Saya muncul sebagai SysAd di Korps Marinir sekitar 10 tahun yang lalu, di mana ada kesenjangan yang lebar antara menjadi Admin dan menjadi seorang Coder. Menjadi seorang Coder biasanya berarti bahwa Anda terjebak berurusan dengan situs web proyek hewan peliharaan CO (menyelesaikan sedikit pekerjaan Anda yang sebenarnya ...).
Karena itu, saya menolak belajar kode, tetapi begitu saya memutuskan untuk mencobanya, saya bersenang-senang.
Sejauh menarik seseorang, Cobalah menggunakan skrip AD / LDAP untuk memikat mereka. (Saya pikir ini sedikit lebih mudah diakses daripada berurusan dengan WMI.) Tetapkan perkembangan tugas, katakan "beri saya nama pengguna dan alamat email dari orang dalam grup XYZ ".
Saya menulis sedikit kode ini untuk menemukan semua pengguna yang bukan anggota dari salah satu grup yang ditentukan: https://github.com/gwaldo/LDAP-Inverse-Group-Membership-Report
Sejauh sumber daya, lihat Microsoft Scripting Guys (yang memiliki artikel dan tutorial yang sangat baik) dan Scriptomatic2, yang saya suka menggali ke dalam WMI.
sumber
Pertanyaan selanjutnya: mengapa mereka harus skrip? Itu akan menentukan jawabannya.
Agaknya, Anda skrip karena lebih efisien. Dalam hal ini, Anda dapat menunjukkan kepada orang lain, atau menunjukkan kepada manajemen bahwa ada cara yang lebih efisien untuk mengelola sistem dan menunggu mereka mengambil keuntungan dari hal itu dalam langkah pemotongan biaya.
Seseorang dengan wewenang dapat mengamanatkan skrip, dengan mewajibkan ada skrip untuk menangani sebagian besar hal. Seberapa baik ini akan bekerja tergantung pada beberapa hal; jika hanya menyatakan seperti itu skrip cenderung tetap tidak memadai dan usang, sementara admin bekerja seperti biasa.
Ada juga pertanyaan tentang bagaimana ini memengaruhi Anda. Apakah itu hanya mengganggu Anda, atau apakah hidup Anda akan lebih baik jika sesama admin Anda menulis hal-hal?
sumber
Saya sebenarnya punya pemikiran lain. Sehubungan dengan fakta bahwa admin Windows junior digunakan untuk interaksi GUI, mungkin akan membantu jika Anda memulainya dengan scripting interaksi GUI, dengan sesuatu seperti AutoIt . Ini akan memungkinkan mereka untuk mendapatkan kesempatan dalam hal skrip sambil tetap memungkinkan mereka untuk menggunakan alat yang sudah mereka ketahui, alih-alih membuang alat yang ada dan membuat mereka mempelajari alat dan skrip baru pada saat yang sama.
Kemudian, setelah mereka merasa nyaman dengan ide skrip pada umumnya, mereka dapat beralih ke skrip non-GUI. Meskipun tidak, meskipun demikian, mengotomatiskan klik tombol masih berpotensi menjadi penghemat waktu yang besar.
sumber
Saya telah mendefinisikan skrip sebagai "Dokumentasi yang berfungsi untuk Anda."
Manajer: Pergi menghabiskan berjam-jam membuat dokumentasi, yang dapat dipahami oleh siswa kelas satu, yang akan basi pada akhir minggu, bagi rekan kerja Anda untuk mengklik-klik melalui Tugas-X.
Karyawan: Saya memiliki skrip yang mengerjakan Tugas-X, dapatkah saya memberikannya kepada mereka.
Manajer: Tentu, setelah Anda menyelesaikan dokumentasi yang baru saja saya minta, dokumentasikan naskah Anda juga, dengan diagram alur.
sumber
Jangan lupa bahwa dokumentasi harus dalam dokumen MS Word sehingga menyulitkan membacanya dari server.
sumber