需修改PowerShell执行策略为RemoteSigned,再通过PowerShell窗口、命令行或右键菜单运行.ps1脚本,并确保脚本编码为UTF-8 with BOM或ANSI。

如果您在Windows系统中创建了一个.ps1格式的PowerShell脚本文件,但双击无法运行或提示“无法加载文件,因为在此系统上禁止运行脚本”,则说明PowerShell执行策略限制了脚本运行。以下是启用并执行.ps1脚本的具体操作步骤:
一、修改PowerShell执行策略
PowerShell默认执行策略为Restricted,禁止运行本地脚本。需临时或永久调整策略以允许脚本执行,同时确保操作在受信任环境中进行。
1、以管理员身份运行PowerShell:点击“开始”→搜索“PowerShell”→右键“Windows PowerShell”→选择“以管理员身份运行”。
2、查看当前执行策略:输入命令 Get-ExecutionPolicy 并按回车。
3、将执行策略设为RemoteSigned(推荐):输入命令 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 并按回车;系统提示确认时输入 Y。
4、验证设置是否生效:再次运行 Get-ExecutionPolicy -Scope CurrentUser,返回值应为 RemoteSigned。
二、在PowerShell中直接调用.ps1脚本
执行策略调整后,可在PowerShell会话中通过完整路径调用脚本,避免因路径含空格或特殊字符导致解析失败。
1、进入脚本所在目录:使用 cd "C:MyScripts" 切换到脚本存放路径(注意路径用英文双引号包裹)。
2、执行脚本:输入 .myscript.ps1 并按回车(必须包含 . 前缀,否则系统将尝试从PATH中查找命令)。
3、若脚本位于其他位置,可直接使用绝对路径:例如 & "D:Toolsdeploy.ps1"(& 是调用运算符,支持含空格的完整路径)。
三、通过命令行启动PowerShell并执行脚本
无需预先打开PowerShell窗口,可从CMD或运行对话框(Win+R)一次性完成启动与执行,适用于批处理集成或快捷方式场景。
1、按下 Win + R 打开“运行”对话框。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
2、输入以下命令并回车:powershell -ExecutionPolicy Bypass -File "C:path oscript.ps1"(其中 Bypass 仅对本次会话临时绕过策略,不更改系统设置)。
3、若脚本路径含空格,必须用英文双引号包裹 -File 参数值,且双引号内不得嵌套双引号。
四、右键菜单快速执行.ps1脚本
为提升日常使用效率,可向资源管理器右键菜单添加“在此处运行PowerShell脚本”选项,实现一键调用。
1、新建一个文本文件,将后缀改为 .reg,例如 AddPs1Run.reg。
2、用记事本打开该文件,粘贴以下内容(注意替换实际路径中的反斜杠为双反斜杠):Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTMicrosoft.PowerShellScript.1ShellRunPs1Command] @=""C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass -File \"%1\""。
3、双击运行该.reg文件,确认导入注册表;之后在任意.ps1文件上右键即可看到新增的执行项。
五、检查脚本编码与BOM格式
PowerShell对UTF-8编码的.ps1文件要求严格:若脚本以UTF-8 with BOM保存,通常可正常识别;若为UTF-8无BOM或UTF-16格式,可能导致语法错误或乱码。
1、用记事本或VS Code打开.ps1文件,点击右下角编码标识(如“UTF-8”)。
2、选择“另存为”→在保存对话框中点击“编码”下拉菜单→选择 UTF-8 with BOM 或 ANSI(中文Windows推荐ANSI)。
3、保存后重新执行脚本,观察是否仍报错 Unexpected token 或中文显示异常。










