问题标签 [powershell-6.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 投票
1 回答
98 浏览

powershell - 如何防止 PowerShell 将异常数据添加到 $error

我在一个函数中调用了很多 REST 调用。我知道其中一些会失败,但这是意料之中的。

我的问题是:

如何防止 powershell 向全局$error变量添加条目?

前锋:


$error调用后的变量:

在此处输入图像描述

0 投票
3 回答
437 浏览

git - Invoke-Expression,并非所有输出都返回到变量

我在我的 PowerShell 脚本中使用了一些 GIT 命令。大多数时候我通过调用 GIT 命令Invoke-Expression,例如

  • 可以解析输出,或/和
  • 将输出转发到日志记录方法。

在某些 GIT 命令中,我认识到并非所有输出都通过Invoke-Expression文档状态返回:

输出

PS对象

返回由调用的命令生成的输出(Command 参数的值)。

这是一个例子:

内容$x

所以主要信息不返回$x。我无法想象这git fetch --all是通过stderr(没有意义......)返回主要信息。

我还发现了这个 PowerShell question,没有答案,使用的 PowerShell 版本是 2。

使用的 PowerShell 版本:

如何强制Invoke-Expression返回整个输出?

谢谢

0 投票
0 回答
957 浏览

powershell - 通过 .NET 核心与 Get-WmiObject 交互

我需要获取有关系统的信息。我可以使用 Powershell 从 Get-WmiObject 获取它。但我需要使用 .NET 核心应用程序来收集它。

我能够执行一些基本命令,例如 Get-Command 或 Get-Process。

当我尝试执行 Get-WmiObject 时,出现此错误

术语“Get-WmiObject”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

使用 (Get-CIMInstance CIM_ComputerSystem).Name 与此命令相同的问题

术语“Get-CIMInstance”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

您是否知道使用 powershell 使用 dotnet 核心执行 Get-CIMInstance 或 Get-WmiObjet 的解决方法?

更新

当我调用脚本Get-Command时,我在结果中找到了 Get-WmiObject。但是当我调用Get-WmiObject时,它不会运行!

0 投票
1 回答
413 浏览

.net - 代码在 Powershell 5 中完美运行,但在 Powershell 6 中却不行

我的一项任务需要从文件列表中创建 ISO 映像。我发现了这个要点(根据作者的说法,代码在公共领域)。

我的公司只使用 Powershell 6.2.2,这就是我必须处理的事实。问题是代码在 Powershell 5.1 中完美运行,但在 Powershell 6.2.2 中却不行!它给了我以下错误:

我发现的唯一一件事是,根据 MS 文档,在 Powershell 6.x 中,Add-Type cmdlet 没有“-CompilerParameters”这样的参数,但在 Powershell 5(即 5.1)中有一个参数。尝试用“-CompilerOptions”替换它,但这没有帮助。同样的错误。

有没有办法让它在 Powershell 6.2 上运行?

0 投票
4 回答
462 浏览

powershell - 在 Powershell 6.0 中为变量设置默认值的优雅方式?

我有以下内容,但看起来很笨重:

有没有更好的方法来做到这一点?我在这里看到了这个答案,但它并不完全“更好”。只是想知道 6.0 是否带来了任何改进?

我可能要处理大量的配置选项,所以它会变得相当混乱。

0 投票
1 回答
1082 浏览

powershell - 将 json 数组传递给 powershell 中的函数

我有这个简短的脚本,它显示一个带有行号的表格,并询问用户想要使用哪个 Azure 订阅。它工作得很好。

现在我想编写一个小函数来显示表格并从中选择一个项目,以便将其重用于其他选择。

当我用它调用它时,$subChoice = GetChoice $subscriptions 'Choose subscription'它不会显示表格。

为什么它不起作用,我应该修改什么才能使它起作用?

0 投票
0 回答
408 浏览

powershell - Powershell 使用 SecureString 从 linux 到 office365

当我尝试使用 Exchange powershell commandlet 时遇到了一些麻烦:New-MailUser ( doc )。更具体地说,它使用了一个失败的 SecureString。

我的问题是它在我的 windows dev env 上运行良好,但是一旦在 Linux 上执行,它就不会了。(都是powershell 6。偶试过7)

我收到以下错误:

会话密钥不可用于加密安全字符串

我想这是一个连接类型问题(SSL/TLS)(从https://www.cloudflare.com/learning/ssl/what-is-a-session-key/学习)

执行的命令:

我不知道如何解决这个问题,或者我做错了什么......

有开明的人帮忙吗?

0 投票
1 回答
1251 浏览

powershell - Powershell Core 6 中的 HtmlWebResponseObject.ParsedHtml 替换

我的目标是解析一个用Invoke-WebRequest. 如果可能的话,我想避免使用任何外部库。

我面临的问题是,它Invoke-WebRequest返回 aBasicHtmlWebResponseObject而不是 aHtmlWebResponseObject 自 Powershell 6。该Basic版本缺少该ParsedHtml属性。在 Powershell Core 6 中解析 html 是否有很好的替代方法?

我尝试使用Select-Xml,但我的 html 并不完全有效(例如缺少结束标记),因此无法解析结果。

我发现的另一种选择是使用New-Object -ComObject "HTMLFile",但据我了解,这依赖于 Internet Explorer 进行解析,我想避免这种情况。

这里有一个非常相似的问题但遗憾的是这个问题自 8 个月以来没有答案或活动。

0 投票
0 回答
121 浏览

powershell-6.0 - 如何在 PowerShell Core 6 中递归删除文件夹?

由于 PowerShell 6 支持来自 unix 的别名,我尝试运行

强制删除 node_modules 文件夹及其所有子目录。但是,我得到

那么如何正确指定参数呢?

0 投票
1 回答
563 浏览

powershell-6.0 - 导出 Csv 和数组对象

我有一个 CSV,我想在数组对象中处理并导出为另一个 CSV。但是,当我这样做时,它不是复制数组的值,而是复制对象的属性。

如何解决这个问题?

编辑

导致这种情况的代码:

$data存储 import-csv 输出的数组在哪里。