Bagaimana cara saya menjalankan skrip PowerShell?
- Saya memiliki skrip bernama myscript.ps1
- Saya memiliki semua kerangka kerja yang diperlukan diinstal
- Saya mengatur kebijakan eksekusi itu
- Saya telah mengikuti instruksi pada halaman bantuan MSDN ini
dan saya mencoba menjalankannya seperti ini:
powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'
(dengan atau tanpa--noexit
)
yang mengembalikan apa-apa, kecuali bahwa nama file adalah output.
Tidak ada kesalahan, tidak ada pesan, tidak ada. Oh, ketika saya menambahkan -noexit
, hal yang sama terjadi, tetapi saya tetap di dalam PowerShell dan harus keluar secara manual.
File .ps1 seharusnya menjalankan program dan mengembalikan tingkat kesalahan tergantung pada output program itu. Tapi aku cukup yakin aku belum sampai di sana.
Apa yang saya lakukan salah?
windows
powershell
scripting
Pekka
sumber
sumber
powershell
seperti yang Anda akan mulaicmd
. Sekarang Anda dapat menjalankanmyscript.ps1
skrip seperti yang dapat dieksekusi di (di jendela PowerShell), yaitu.\myscript.ps1
Jawaban:
PS
perintah munculArahkan ke direktori tempat skrip tinggal
Jalankan skrip:
Apa yang saya lewatkan ??
Atau: Anda dapat menjalankan skrip PowerShell dari
cmd.exe
seperti ini:sesuai dengan posting blog ini di sini
Atau Anda bahkan dapat menjalankan skrip PowerShell dari aplikasi C # :-)
Eksekusi skrip PowerShell dari aplikasi C # secara sinkron
sumber
powershell -noexit "& "C:\yada_yada\run_import_script.ps1"
(perhatikan tiga tanda kutip ganda) Saya tidak begitu mengerti mengapa, tetapi pada titik ini, saya tidak begitu peduli :) Terima kasih banyak!"&
dilakukan?powershell -executionpolicy bypass ".\myscript.ps1 yadayadayada"
Jika Anda menggunakan PowerShell 2.0, gunakan
-File
parameter PowerShell.exe untuk memanggil skrip dari lingkungan lain, seperti cmd.exe. Sebagai contoh:sumber
-ExecutionPolicy Bypass
Jika Anda ingin menjalankan skrip tanpa mengubah kebijakan eksekusi skrip default, Anda dapat menggunakan bypass sakelar saat meluncurkan Windows PowerShell .
sumber
-nologo
opsi untuk menyingkirkan spanduk startupTipe:
powershell -executionpolicy bypass -File .\Test.ps1
CATATAN: Ini
Test.ps1
adalah skrip PowerShell.sumber
powershell -executionpolicy bypass -File .\Test.ps1
dengan asumsi Anda direktori kerja saat ini berisi Test.ps1Saya memiliki masalah yang sama, dan saya mencoba dan mencoba ... Akhirnya saya menggunakan:
Dan letakkan baris ini dalam file batch, dan ini berfungsi.
sumber
Jika Anda hanya memiliki PowerShell 1.0 , ini tampaknya cukup berhasil:
Ini pipa file skrip ke baris perintah PowerShell.
sumber
Sangat mudah. Klik kanan file .ps1 di Windows dan di menu shell klik Run with PowerShell .
sumber
Menggunakan file cmd (BAT):
Jika Anda perlu dijalankan sebagai administrator :
sumber
Cara mudah adalah dengan menggunakan PowerShell ISE , buka skrip, jalankan dan aktifkan skrip Anda, fungsikan ...
sumber
Jika skrip Anda dinamai dengan
.ps1
ekstensi dan Anda berada di jendela PowerShell, Anda hanya menjalankan./myscript.ps1
(dengan asumsi file ada di direktori kerja Anda)Ini benar bagi saya pada Windows 10 dengan PowerShell versi 5.1, dan saya rasa saya tidak melakukan apa pun untuk membuatnya mungkin.
sumber
myscript.ps1
tidak bekerja, melemparkan kesalahan, tetapi dengan./
mengeksekusinya.Berikan path skrip, yaitu, pengaturan path oleh cmd:
$> . c:\program file\prog.ps1
Jalankan fungsi titik masuk dari PowerShell:
Sebagai contoh,
$> add or entry_func or main
sumber
>$ . c:\program file\prog.ps1 '.' is not recognized as an internal or external command, operable program or batch file.
dan>$ add or entry_func or main 'add' is not recognized as an internal or external command, operable program or batch file.
Jika Anda ingin menjalankan skrip PowerShell dengan Penjadwal Tugas Windows, harap ikuti langkah-langkah di bawah ini:
Buat tugas
Setel
Program/Script
kePowershell.exe
Setel
Arguments
ke-File "C:\xxx.ps1"
Ini dari jawaban lain, Bagaimana cara saya menjalankan skrip PowerShell secara otomatis menggunakan penjadwal tugas Windows? .
sumber
Gunakan
-File
parameter di depan nama file. Kutipan membuat PowerShell berpikir itu adalah serangkaian perintah.sumber
Saya punya jawaban yang sangat sederhana yang berfungsi:
set-executionpolicy unrestricted
Saya menemukan solusi ini mengikuti tautan yang diberikan sebagai bagian dari pesan kesalahan: Tentang Kebijakan Eksekusi
sumber