我试图在PowerShell中运行这个脚本。我将下面的脚本保存为ps.ps1在我的桌面上。
$query = "SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2"
Register-WMIEvent -Query $query -Action { invoke-item "C:\Program Files\abc.exe"}
我已经制作了一个批处理脚本来运行这个PowerShell脚本
@echo off
Powershell.exe set-executionpolicy remotesigned -File C:\Users\SE\Desktop\ps.ps1
pause
但是我得到这个错误:
如果你想运行一些脚本,你可以使用Set-executionpolicy -ExecutionPolicy Unrestricted,然后用Set-executionpolicy -ExecutionPolicy Default重置。
请注意,执行策略仅在开始执行时(或者看起来是这样)才会被检查,因此您可以在后台运行作业并立即重置执行策略。
# Check current setting
Get-ExecutionPolicy
# Disable policy
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
# Choose [Y]es
Start-Job { cd c:\working\directory\with\script\ ; ./ping_batch.ps1 example.com | tee ping__example.com.txt }
Start-Job { cd c:\working\directory\with\script\ ; ./ping_batch.ps1 google.com | tee ping__google.com.txt }
# Can be run immediately
Set-ExecutionPolicy -ExecutionPolicy Default
# [Y]es