Windows系统powershell运行指令常见报错及处理

 

目录

 

报错

报错1 未修改执行策略

报错2 用户权限不够

报错3 .ps1使用中文路径

报错4 .ps1路径错误


powershell运行指令,包括在终端直接输入指令和运行.ps1文件,常出现的报错及处理

报错

报错1 未修改执行策略

如果不修改执行策略,将会报错:

.\ReplaceShortcuts.ps1
.\ReplaceShortcuts.ps1 : 无法加载文件 D:\ReplaceShortcuts.ps1,因为在此系统上禁止运行脚本。有关详
细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\ReplaceShortcuts.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

 修改:在执行.\ReplaceShortcuts.ps1之前,修改执行策略。

Set-ExecutionPolicy RemoteSigned

报错2 用户权限不够

如果用户权限不够,将会报错:

 Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的
访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动 Windows PowerShell。要更改当
前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
所在位置 行:1 字符: 1
+ Set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma
   nd

方法一:请使用“以管理员身份运行”选项启动 Windows PowerShell。再 “Set-ExecutionPolicy RemoteSigned”。

方法二:不用管理员身份,而是执行“Set-ExecutionPolicy -Scope CurrentUser”。

报错3 .ps1使用中文路径

 如果.ps1文件里的地址路径设置为中文,在运行时可能会报错:

.\ReplaceShortcuts.ps1
Get-ChildItem : 找不到路径“D:\瑰紡”,因为该路径不存在。
所在位置 D:\复制\ReplaceShortcuts.ps1:4 字符: 1
+ Get-ChildItem $shortcutPath -Filter *.lnk | ForEach-Object {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (D:瑰紡:String) [Get-ChildItem], I
temNotFoundExceptio    n
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand 

在【控制面板】中修改,在【控制面板】中找到【区域】 -> 【管理】 -> 【更改系统区域设置】 -> 勾选【Beta版:使用Unicode UTF-8 提供全球语言支持】,如下图: 

重启电脑即可。

解决方法来源:PowerShell以及cmd 命令 或者 Java的Runtime.exec执行cmd命令 存在中文路径的解决办法_怎么在 powershell 脚本使用中文路径读取文件_彦宝的博客-CSDN博客

报错4 .ps1路径错误

在执行.\ReplaceShortcuts.ps1时

 .\ReplaceShortcuts.ps1
.\ReplaceShortcuts.ps1 : 无法将“.\ReplaceShortcuts.ps1”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称
的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ .\ReplaceShortcuts.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (.\ReplaceShortcuts.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

方法一:使用“cd”指令跳转到ReplaceShortcuts.ps1所在文件夹:

cd D:\path\to\folder

其中,path\to\folder是你要访问的文件夹的路径。例如,如果你要访问D盘的一个名为"Documents"的文件夹,可以使用以下命令:“cd D:\Documents” 这个命令会将当前工作目录更改为D盘的Documents文件夹,这样你就可以在PowerShell中访问该文件夹中的文件和文件夹了。

跳转到ReplaceShortcuts.ps1所在文件夹之后再执行.\ReplaceShortcuts.ps1。

方法二:使用绝对路径,方法是输入 “&”+“绝对路径”

& "D:\复制\ReplaceShortcuts.ps1"

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值