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