it-swarm.asia

Cara menjalankan skrip PowerShell

Bagaimana cara saya menjalankan skrip PowerShell?

  • Saya memiliki skrip bernama myscript.ps1
  • Saya memiliki semua kerangka kerja yang diperlukan diinstal
  • Saya menetapkan kebijakan eksekusi hal
  • 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. Tetapi saya cukup yakin saya bahkan belum sampai di sana.

Apa yang saya lakukan salah?

617
Pekka 웃
  1. Jalankan Windows PowerShell, dan tunggu sebentar untuk perintah Prompt PS muncul
  2. Arahkan ke direktori tempat skrip tinggal

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. Jalankan skrip:

    PS> .\run_import_script.ps1 (enter)
    

Apa yang saya lewatkan ??

Atau: Anda dapat menjalankan skrip PowerShell dari cmd.exe seperti ini:

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

menurut posting blog ini di sini

Atau Anda bahkan dapat menjalankan skrip Powershell dari aplikasi C # :-)

Eksekusi skrip PowerShell secara asinkron dari aplikasi C # Anda

652
marc_s

Jika Anda menggunakan PowerShell 2.0, gunakan parameter -File PowerShell.exe untuk meminta skrip dari lingkungan lain seperti cmd.exe, mis .:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
193
Keith Hill

Jika Anda ingin menjalankan skrip tanpa mengubah kebijakan eksekusi skrip default, Anda dapat menggunakan bypass switch ketika meluncurkan Windows PowerShell .

powershell [-noexit] -executionpolicy bypass -File <Filename>
162
Chingiz Musayev

Mengetik:

powershell -executionpolicy bypass -File .\Test.ps1

CATATAN: Di sini Test.ps1 adalah skrip PowerShell.

59
Sudheesh

Saya memiliki masalah yang sama, dan saya mencoba dan mencoba ... Akhirnya saya menggunakan:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

Dan letakkan baris ini dalam file batch, dan ini berfungsi.

27
Dennis

Jika Anda hanya memiliki PowerShell 1.0 , ini tampaknya cukup berhasil:

powershell -command - < c:\mypath\myscript.ps1

Ini pipa file skrip ke baris perintah PowerShell.

21
AndyM

Sangat mudah. Klik kanan file .ps1 di Windows dan di menu Shell klik pada Jalankan dengan PowerShell .

11
electronictonic

Cara mudah adalah dengan menggunakan PowerShell ISE , buka skrip, jalankan dan aktifkan skrip Anda, fungsi ...

 Enter image description here

Menggunakan file cmd (BAT):

@echo off
color 1F
echo.

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"

:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL

Jika Anda perlu jalankan sebagai administrator :

  1. Buat pintasan mengarah ke Prompt perintah (Saya menamakannya Prompt Perintah Administratif)
  2. Buka properti pintasan dan buka tab Kompatibilitas
  3. Di bawah bagian Level Privilege, pastikan kotak centang di sebelah "Jalankan program ini sebagai administrator" dicentang
9
Kiquenet
  • Berikan path skrip, yaitu, pengaturan path oleh cmd:

    $> . c:\program file\prog.ps1

  • Jalankan fungsi titik masuk dari PowerShell:

    Misalnya, $> add or entry_func or main

7
pkm

Jika skrip Anda dinamai dengan ekstensi .ps1 dan Anda berada di jendela PowerShell, Anda cukup menjalankan ./myscript.ps1 (dengan asumsi file tersebut 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.

6
rainabba

Jika Anda ingin menjalankan skrip PowerShell dengan Penjadwal Tugas Windows, harap ikuti langkah-langkah di bawah ini:

  1. Buat tugas

  2. Set Program/Script ke Powershell.exe

  3. Set Arguments ke -File "C:\xxx.ps1"

Ini dari jawaban lain,Bagaimana cara menjalankan skrip PowerShell secara otomatis menggunakan penjadwal tugas Windows?.

5
Gearon

Gunakan parameter -File di depan nama file. Kutipan membuat PowerShell berpikir itu adalah serangkaian perintah.

1
Engineer