光和影在交界 2024-05-18 14:51 采纳率: 100%
浏览 505
已结题

PowerShell: 无法将system.object[]转换为system.Uri

准备激活windows 365时,
运行以下这段代码的时候报错:
irm https://massgrave.dev/get | iex

是我的计算机有问题吗?为什么别人激活就可以,而我会报错

img

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-05-18 14:58
    关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    这是一个 PowerShell 报错信息,提示无法将 system.object[] 转换为 system.Uri 类型,错误可能出现在你运行的命令上,具体解决方法如下:

    1. 确认你运行的 PowerShell 版本符合要求,如果不符合要求可能会出现兼容性问题,需要升级或降级 PowerShell 版本。

    2. 通过调试代码,在运行命令 ir https://massgrave.dev/get iex 之前,使用语句 $url = "https://massgrave.dev/get" 可以将 URL 地址储存在 $url 变量中,接着修改命令为 irm $url iex,即 iex 命令后面跟的不是 URL 地址,而是变量 $url。

    3. 通过调试代码,可以看到有时候通过 ir 命令获取到的是一个数组,而不是一个字符串(URL 地址),这意味着无法将其传递给 iex 命令。解决办法是,在 ir 命令的末尾增加 -UseBasicParsing,这样 ir 命令返回的将是一个字符串,而不是数组。

    4. 可以尝试将代码运行在其他计算机上测试,如果仍然出现类似的问题,说明该命令存在问题。

    综上,可以尝试升级或降级 PowerShell 版本,使用变量存储 URL 地址,增加 -UseBasicParsing 参数或运行命令在其他计算机上测试。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 创建了问题 5月18日