问题标签 [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.
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
返回整个输出?
谢谢
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
时,它不会运行!
.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 上运行?
powershell - 在 Powershell 6.0 中为变量设置默认值的优雅方式?
我有以下内容,但看起来很笨重:
有没有更好的方法来做到这一点?我在这里看到了这个答案,但它并不完全“更好”。只是想知道 6.0 是否带来了任何改进?
我可能要处理大量的配置选项,所以它会变得相当混乱。
powershell - 将 json 数组传递给 powershell 中的函数
我有这个简短的脚本,它显示一个带有行号的表格,并询问用户想要使用哪个 Azure 订阅。它工作得很好。
现在我想编写一个小函数来显示表格并从中选择一个项目,以便将其重用于其他选择。
当我用它调用它时,$subChoice = GetChoice $subscriptions 'Choose subscription'
它不会显示表格。
为什么它不起作用,我应该修改什么才能使它起作用?
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/学习)
执行的命令:
我不知道如何解决这个问题,或者我做错了什么......
有开明的人帮忙吗?
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 个月以来没有答案或活动。
powershell-6.0 - 如何在 PowerShell Core 6 中递归删除文件夹?
由于 PowerShell 6 支持来自 unix 的别名,我尝试运行
强制删除 node_modules 文件夹及其所有子目录。但是,我得到
那么如何正确指定参数呢?
powershell-6.0 - 导出 Csv 和数组对象
我有一个 CSV,我想在数组对象中处理并导出为另一个 CSV。但是,当我这样做时,它不是复制数组的值,而是复制对象的属性。
如何解决这个问题?
编辑:
导致这种情况的代码:
$data
存储 import-csv 输出的数组在哪里。