Saya memiliki dua file PowerShell. a.ps1 dan b.ps1.
Pada titik pusat di a.ps1 saya ingin memulai mengeksekusi kode dalam b.ps1 dan mengakhiri skrip a.ps1.
Bagaimana cara melakukannya mengingat kedua file tersebut berada di folder yang sama?
powershell
window
GibboK
sumber
sumber
Jawaban:
Apakah boleh jika b.ps1 dijalankan dalam proses Power Shell baru? Jika demikian, berikut ini harus melakukan apa yang Anda gambarkan.
"Invoke-Expression" dijalankan dalam proses yang sama tetapi menunggu penghentian b.ps1.
sumber
Dalam a.ps1,
cara Anda menjalankan program lain
sumber
saya mendapatkan ini dari artikel yang berbeda tetapi dapat diterapkan di sini: terima kasih ( /programming//users/3905079/briantist )
Pertama, jika Anda ingin membuat beberapa panggilan dalam satu sesi ke mesin jarak jauh, pertama buat PSSession:
Kemudian gunakan sesi itu di semua panggilan berikutnya:
} Kemudian tutup sesi ketika Anda selesai:
juga jika Anda tidak tahu persis apa yang akan dibuat skrip tetapi ketahuilah kapan skrip Anda dimulai, Anda dapat melakukan ini:
(itu milikku)
sumber
Gunakan variabel ajaib $ PSScriptRoot untuk merujuk ke direktori Anda saat ini. Kemudian panggil skrip B dengan ampersand ("Panggil operator"):
Jika Anda ingin menjaga variabel dari B dalam lingkup A, Anda dapat menjalankan skrip menggunakan operator sumber Dot:
sumber