Saya telah menulis file batch untuk mengatur alamat IP dari server host dan dua mesin virtual yang menjalankannya. Saat ini Anda harus menyalin skrip ke setiap mesin dan menjalankannya yang bukan yang saya inginkan, saya ingin menjalankan skrip di server host dan memiliki perintah yang diberikan ke masing-masing VM.
Apakah ini mungkin?
powershell
batch-file
Daniel Neocleous
sumber
sumber
Jawaban:
Anda dapat dengan mudah mencapai ini dengan menggunakan Sesi PowerShell.
Pertama, Aktifkan PowerShell Remoting. Untuk melakukan ini, buka PowerShell sebagai administrator dan jalankan
enable-psremoting -force
.Apa pun yang Anda nyatakan secara lokal dapat diteruskan ke sesi menggunakan sintaksis yang mirip dengan yang berikut:
Dengan mendeklarasikan variabel dan meneruskannya ke perintah sesi "Daftar Argumen", mereka diteruskan ke sesi jauh secara berurutan. Dalam hal ini:
ArgumentList($a, $b)
menjadi$args[0]
&$args[1]
. Variabel ke-3 bisa menjadi$ags[2]
(dan seterusnya).mengambil dari suatu sesi sama mudahnya - dengan yang berikut:
Dengan menetapkan variabel
$outputFromSession
untuk menangkap apa pun yang dikembalikan - ini dilewatkan kembali dari sesi jarak jauh ke sesi lokal dan kemudian dapat digunakan nanti dan di tempat lain jika diperlukan.Semudah itu :)
Ben
sumber