问题标签 [powershell-v6.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
364 浏览

powershell - 如何处理不同的路径分隔符?

我想编写在所有 PowerShell 平台上运行的代码。以下代码\在 Windows 上使用路径分隔符生成输出,/在 Linux 上使用路径分隔符生成输出。

我想排除目录下任何位置的obj文件。目录的数量和深度obj未知。一种方法是使用以下内容过滤掉那些。但是,这在 Linux 上不起作用,因为路径分隔符不同。

使用正则表达式模式似乎可行,但我想知道是否有更清晰的方法来做到这一点。我觉得这很尴尬。不仅如此,该\\字符作为 Linux 文件名的一部分也是有效的,这可能会导致该代码存在故障漏洞。

0 投票
0 回答
164 浏览

linux - Powershell Core“无法解析主机名”

我在 Arch Linux 上使用 Powershell 6b5 AppImage(使用官方 AppIimage)。我可以在 powershell 之外使用 IPv4 和 IPv6 网络,包括 URL 和 IP。但是,在 PS 中,当我调用以下命令时:

iwr 'http://google.com',

我明白了

iwr : Couldn't resolve host name.

执行以下操作时出现相同的错误(IPv4 地址是 google.com 之一)

iwr 'http://172.217.26.238'

使用 IPv6 地址,我得到一个 404,这意味着连接工作正常:

iwr 'http://[2404:6800:4009:808::200e]'

有人对如何解决这个问题有任何指示吗?

0 投票
2 回答
5240 浏览

powershell - Powershell 确定永久移动(重定向)资源的新 URL

我在 Linux 上使用 AppImage 使用 Powershell Core v6-beta.5。有没有办法找出 301 重定向的“新”位置?

Invoke-WebRequest -Method HEAD http://SomethingThatThrows301.com/ -MaximumRedirection 0引发错误 ( Response status code does not indicate success: 301 (Moved Permanently))。

虽然错误确实提到移动是 301,但我仍然希望有一个合适的对象告诉我这一点,以及新地址。

有没有办法这样做?

0 投票
0 回答
618 浏览

docker - 在 Docker 容器中运行 Opencover 和 ReportGenerator

我正在尝试使用此图像 microsoft/aspnetcore-build:2.0.0 为 asp.net 核心应用程序运行 opencover 和 reportgenerator,我有一个 opencover powershell 脚本,并希望在容器内安装 powershell for linux 以运行该脚本,任何对此的指导或解决方案?

0 投票
2 回答
1132 浏览

powershell - 无法将默认终端设置为 PowerShell 6.0

我正在尝试将 vscode 中的默认终端设置为 PowerShell 6.0。但是,重启vscode后,出现如下信息,终端没有启动。

这是我尝试使用的用户设置覆盖代码。注意:必须转义反斜杠路径分隔符。

0 投票
1 回答
281 浏览

powershell - 数学出乎意料地产生无穷大'∞'

目标是有一个进度条监控将其所在步骤写入监视文件的外部进程。

如果我没有 aStart-Sleep在循环中,它将产生有关无法转换无穷大的消息。为什么是这样?我愿意有一些睡眠时间,但为什么需要它以及睡眠所需的最短时间是多少?

这是代码。同样的问题出现在 PowerShell 5.1 和 6.0 上。我要做的就是运行它ECHO>wf.txt 1,然后ECHO>wf.txt 2等等。有时错误发生在第二步,但有时在第三步。

0 投票
3 回答
3344 浏览

powershell - PowerShell 6 - 支持 Windows GUI 库

我了解新的 PowerShell 6/core 缺乏对 Windows GUI 库的支持,我使用Windows.Forms .NET 类在 PS-5.1 中开发了一些重要项目。

问题: 我们计划在今年夏天升级到 PowerShell 6,这意味着我将失去所有的 GUI 功能(使用 Windows.Forms 开发)。

问题: 在这种情况下我们应该怎么做才能在我们的 PS 应用程序中保留 GUI 功能。您是否设想 Microsoft 会为未来的 GUI 支持提供任何替代方案?

TIA

0 投票
13 回答
23565 浏览

powershell - 如何删除 Powershell 开始文本?

Powershell 6 具有 Unix 风格/etc/issue,其中提到了文档的链接。

这很好,但是:

  • 我知道文档在哪里
  • 我知道我启动了 Powershell 6

如何删除部分或全部消息?IIRC Powershell 5 仍然有版权信息,所以也许我不能删除它,但去掉最后 3 行会有帮助吗?

0 投票
3 回答
3112 浏览

powershell - 如何从另一个 PS 会话启动新的 PowerShell 会话,并运行带有 splatted 参数的 CmdLet

目标:

是为了能够测试是否安装了 PowerShell v6(没问题),如果是,则为某些 CmdLets 调用该 shell。这将在 PowerShell v5.1 中运行的脚本中调用。我无法完全转换到 v6,因为在此环境中还有其他依赖项尚无法工作,但是,v6 对某些 CmdLets 提供了显着优化,导致操作改进超过 200 倍(具体来说,Invoke-WebRequest调用将导致下载大文件 - 在 v5.1 中,4GB 文件的下载需要 1 个多小时,在 v6 中,使用同一子网中的相同机器大约需要 30 秒。

附加点:

但是,我还建立了一组动态参数,用于添加到 CmdLets 参数列表中。例如,构建的参数列表看起来像:

并且运行 CmdLet 通常会按预期工作:

什么已经尝试过:

在过去的几天里,我查看了这个论坛和其他地方的各种帖子。我们可以创建一个可以调用的简单脚本块,也可以按预期工作:

但是,尝试在Start-ProcessCmdLet 中传递相同的东西失败了,因为我猜参数哈希表没有被评估:

结果是:

下一步去哪儿?

我想我必须以某种方式将参数作为参数传递,以便它们可以被评估和喷溅,但是,语法让我望而却步。我什至不确定是否Start-Process是最好的 CmdLet 使用,而是我应该寻找其他东西,比如Invoke-Command,还是完全不同的东西?

将这个 CmdLet 的结果返回到原始 shell 会很棒,但目前,它只需要一些功能。

0 投票
2 回答
180 浏览

powershell - 使用 -PathType 参数如何影响 Test-Path 的效率?

使用参数指定 Leaf 或 Container 是否对cmdlet-PathType的效率有任何影响?Test-Path

更多的是一个学术问题,因为我无法想象这里的任何收益都可以忽略不计。