Saya suka bau mesin baru di pagi hari.
Saya mengotomatiskan alur kerja pembuatan mesin yang melibatkan beberapa sistem terpisah di seluruh infrastruktur saya, beberapa di antaranya melibatkan skrip perl yang berumur 15 tahun pada host Solaris, sistem Pooting BX Linux, dan Powershell pada Windows Server 2008.
Saya dapat membuat skrip setiap bagian individual, dan mengintegrasikan otomatisasi Linux dan Unix cukup mudah, tetapi saya bingung bagaimana cara menyatukan skrip Powershell dengan andal ke seluruh proses.
Saya lebih suka jika proses dimulai pada host Linux, karena saya membayangkan bahwa itu akan berakhir sebagai aplikasi web yang hidup di server Apache, tetapi jika perlu dimulai pada Windows, saya ragu-ragu dengan itu.
Saya idealnya menginginkan sesuatu di sepanjang baris psexec untuk Linux dijalankan melawan Windows, tetapi jawaban ke arah itu muncul oleh Cygwin , dan sebanyak saya menghargai semua kerja keras yang mereka lakukan, tidak pernah terasa benar , jika kamu tahu maksud saya. Ini bagus untuk desktop dan memberikan banyak fungsi, tetapi saya merasa seperti server Windows harus diperlakukan seperti server Windows dan bukan mesin bastard Unix (yang, kebetulan, adalah argumen saya terhadap server OSX juga, dan mereka sebenarnya Unix) . Lagi pula, saya tidak ingin pergi dengan Cygwin kecuali itu adalah pilihan terakhir dan satu-satunya.
Jadi saya kira apa yang saya tanyakan adalah apakah ada cara untuk melakukan pekerjaan pada mesin Windows dari Linux. Tanpa Cygwin. Saya terbuka untuk ide dan saran, termasuk "Lihat bodoh, semua orang menggunakan Cygwin, jadi hisaplah dan hadapi itu". Terima kasih sebelumnya!
sumber
Anda juga dapat membeli penjadwalan lintas platform atau perangkat lunak otomatisasi alur kerja yang dapat memulai skrip asli pada banyak host tergantung pada tindakan sebelumnya, atau bahkan hasil yang dikembalikan. Perusahaan besar menggunakan perangkat lunak seperti Tivoli, UC4, Espresso (CA dSeries, sekarang) yang melakukan ini, dan saya telah menggunakannya di perusahaan besar yang perlu melakukan hal semacam ini. FYI, ini sering memiliki dukungan asli untuk hal-hal seperti pekerjaan Oracle, untuk memberi Anda gambaran tentang penetapan harga yang mungkin Anda lihat.
(Dalam pekerjaan masa lalu saya, mereka juga digunakan Cygwin pula , sehingga mereka bisa menggunakan skrip Perl yang sama tanpa modifikasi ketika beban kerja pindah antara platform. Banyak menyenangkan.)
Anda juga dapat mencoba membuat sendiri, seperti yang disarankan oleh @ sysadmin1138; itu akan menjadi proyek yang menyenangkan, dan bahkan mungkin berakhir cukup kuat untuk dapat digunakan dan tidak membuat Anda dihubungi pada jam 2 pagi ketika ekspor keuangan gagal pada percobaan pertama.
sumber
Saya akan menggunakan fitur Powershell Web Access yang diperkenalkan di Powershell v3.0. Ini memungkinkan Anda untuk menggunakan skrip Powershell dari host Linux.
sumber
Server PowerShell memungkinkan Anda SSH masuk ke server Windows dan mendapatkan konsol PowerShell. Saya belum menggunakannya di luar uji coba gratis, tetapi penggunaan informal membuktikan bahwa itu adalah produk yang cukup dapat diandalkan.
sumber
Betapa kotor yang ingin Anda rasakan sesudahnya, karena selalu ada telnet :)
Serius, mengapa Anda perlu server Linux untuk memanggil skrip PowerShell? Bisakah Anda mendesain ulang alur kerja Anda sehingga server Linux hanya memberikan gambar boot.wim yang benar melalui tftp ke host yang di-boot PXE? Saya sudah beruntung di masa lalu menjaga citra Windows dengan file jawaban yang berbeda pada server file Windows dan memberikan gambar boot WinPE kustom menggunakan tftpd dari host Linux. Kemudian, Anda dapat meminta file jawaban memanggil skrip PowerShell yang benar dan Anda tidak harus berurusan dengan lintas platform yuckiness seperti Cygwin.
sumber
Anda bisa menggunakan sesuatu seperti nrpe untuk mengeksekusi skrip PowerShell pada host windows. Anda mungkin ingin memodifikasi skrip powershell Anda untuk mengembalikan kode keluar seperti yang diharapkan oleh nrpe, tetapi tidak ada alasan Anda tidak dapat memanggil check_nrpe dari skrip Anda di host linux Anda.
sumber
Pada topik peretasan kontra-intuitif , sudahkah Anda mempertimbangkan penyalahgunaan perangkat lunak Continuous Integration sebagai alat orkestrasi lintas platform?
Instal CI master di mana saja yang paling nyaman, instal agen pada kotak Windows Anda (baik ini atau ini ), konfigurasikan pekerjaan untuk mengeksekusi skrip powershell Anda (baik secara langsung memanggilnya menggunakan konfigurasi Perintah Batch Windows, atau menggunakan plugin jika Anda ingin untuk menulis / menyimpan skrip Anda di dalam aplikasi CI) pada agen Windows Anda dan memicu pekerjaan dari jarak jauh melalui ikal atau serupa.
sumber
Saya bekerja di perusahaan besar di mana masalah ini biasa terjadi. Untuk proses yang saat ini kami dukung, pendekatan kami adalah membuat sistem Unix melakukan panggilan Web ke server Windows "admin" yang menjalankan ColdFusion di IIS. Kami memiliki kelas dan fungsi yang dipicu dari permintaan GET yang menggunakan arahan "cfexute" untuk meluncurkan skrip PowerShell khusus. Itu jelek tapi berhasil. Kami sedang melihat fitur layanan Web PowerShell v3 untuk dimigrasi dari ColdFusion yang bertindak sebagai perantara.
sumber