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

shell - 为什么 powershell ISE 和命令行中的错误处理不同?

我有一个使用 azure cli 登录并执行许多其他操作的 powershell 脚本。一开始我设置

$ErrorActionPreference = "Stop"

当我在 ps ISE 中运行脚本并且天蓝色登录失败时,将显示错误并且执行停止,正如预期的那样。但是,当我从 ps 命令行(或从调用脚本的批处理)运行脚本时,会显示错误 - 并继续执行?!

我尝试了 try/catch,同样的事情,catch 只在 ISE 中被击中,而不是从命令行中被击中。

这对我来说似乎很奇怪。任何人都知道是什么原因造成的以及我如何解决它?重新启动没有帮助:-)

0 投票
3 回答
103 浏览

powershell - Powershell bigint 输出与声明值不同

我正在将 lesspass 密码管理器移植到 powershell,但是在实现_consume_entropy() 方法时遇到了麻烦,尤其是 Python divmod

复制

区别

问题

这是怎么回事?我使用了错误的类型吗?

0 投票
1 回答
140 浏览

powershell - 当您无法访问 -Extension 时使用 Select-Object 是否合适?

在 Powershell v6 中,split-path 具有-Extension访问文件扩展名的参数,例如:

但是,Powershell 3 没有提供-Extension参数,但我想出了这个解决方案:

我仍然得到文件扩展名,但没有句点。无论文件名中有多少个句点或数组的长度,我都会得到相同的输出。

我想不出任何需要期限的情况。如果我想打印带有扩展名的句点,我可以在使用时轻松添加它Write-Output[string]::format()

当不可用Select-Object时,正如我在上面显示的那样是可行的解决方案吗?-Extension

0 投票
0 回答
207 浏览

azure-active-directory - 如何在 PowerShell 6 中授予 AAD 本机应用程序权限?

我通过powershell 6(模块AzureAD.Standard.Preview)在Azure Active Directory上注册了一个本机应用程序,我需要使用powershell 6代码授予权限(设置>所需权限>授予权限)。我正在使用 AZ 模块。

我尝试使用此解决方案http://www.lieben.nu/liebensraum/2018/04/how-to-grant-oauth2-permissions-to-an-azure-ad-application-using-powershell-unattended-silently但这使用 powershell 5 和旧的 AzureRM 模块。它不适用于 AZ 模块,因为刷新令牌不存在。

如何向使用 PowerShell 6 和 AZ 模块在 AAD 上注册的本机应用程序授予权限?

0 投票
1 回答
791 浏览

powershell - Linux 上的 PowerShell 配置文件位置是什么?

在 Windows 上,不包括 ISE 或 x86,有四 (4) 个配置文件脚本。

在带有 pwsh 6.2.0 的 Linux 上,我只能找到两个位置。

Linux 上是否有任何“AllUsers”配置文件脚本?如果有,他们在哪里?

0 投票
1 回答
796 浏览

powershell - Powershell 6.2 和 Get-CimInstance 远程停止/启动/重启服务问题

所以我现在遇到了一个很大的障碍。我在 PowerShell 5.1 中工作,并且Get-WmiObject该类Win32_Service可以很好地远程远程停止/启动/重新启动服务。但是,我发现该.StopService()方法已在 PowerShell 6 中删除(我用它来绕过我一直遇到的依赖关系问题)。同样,我发现该-ComputerName变量也已从许多不同的命令行开关中删除。

由于-ComputerName从诸如Stop-Service命令行开关之类的东西中删除了,我正在努力弄清楚如何正确处理服务本身的停止。我可以毫无问题地检索我想要的服务。我似乎无法弄清楚如何处理停止服务。

尝试尽可能详细。我知道我错过了一些愚蠢的小东西,但我所有的谷歌搜索似乎都用 PowerShell 5 返回了所有内容,但在 6 上却很少。

谢谢。

0 投票
5 回答
7575 浏览

powershell - 为什么 PowerShell ISE 中的控制台不使用最新安装的 PowerShell 版本?

我最近安装了 PowerShell 6.2。

如果我启动 PowerShell 6 (x64) 命令提示符并运行$PSVersionTable.PSVersion这就是结果

在同一提示下,我使用运行 ISEpowershell_ise.exe并启动 PowerShell ISE。但是,在 ISE 的控制台中,如果我运行$PSVersionTable.PSVersion它会报告:

是否有控制 ISE 在何处查找 PowerShell 的设置?或者有什么方法可以确保它使用安装的最新版本?


更新:作为安装 PowerShell Core(即 6.2 版)的一部分,我必须安装 Windows Management Framework 5.1。我从这个文档的理解是,这也应该将 ISE 控制台的 PowerShell 版本升级到 5.1。如上所述,我仍然看到 4.0 版。我错过了什么?

0 投票
1 回答
336 浏览

powershell - Powershell 调用已取消

我正在跑步Get-CimInstance -Namespace root/CIMV2 -ClassName CIM_Component | Out-File -Encoding utf8 .\CIM_Component.txt并收到

不是从键盘中断中取消的。它只是...超时?我真的不知道为什么它完全取消了。

我希望其他人可能知道它引发了呼叫取消错误发生了什么。

可能只是因为信息量太多而导致它丢了管道......但是,它不是内存不足错误......

我不知道!

0 投票
2 回答
815 浏览

powershell - Powershell + 7zip 批量提取和重命名 - 收到“没有要处理的文件”消息

编辑:

最初,我的问题是为什么第一段代码不起作用。如果我在循环外的单个文件上单独运行解压缩操作,则解压缩操作正在工作。但是一旦我用循环将它包裹起来,它就不起作用了,也没有红色错误。

谢谢@nemze,他/她的回答启发我改变我的代码:

至 :

通过将$zipFile定义移到ForEach循环之外,这是可行的!

我认为我的第二个障碍现在转移到在循环内重命名我的文件。

我想要达到的目标:

  • 将 20181001 文件夹中的 Data.xls 重命名为 20181001.xls
  • Data.xls 从 20181008 文件夹重命名为 20181008.xls

修改后的代码仍然读取$zipFolderChild为完整路径,我怎样才能只提取文件夹名称

编辑3:

试图将重命名语句放入循环中,但不确定如何使-NewName参数起作用,$zipFolderChild.Name.xlsclear 不起作用。也试过:

在循环内,也不起作用。

最后工作:

0 投票
1 回答
646 浏览

powershell - 如何将基于 XML 的 XLS 文件转换为 XLSX?

我有一堆 XLS 文件。打开文件时,我得到了提示:format and extension don't match

后来,我发现这是一个旧的基于 XML 的 XLS 文件。出于这个原因,我无法直接将这些文件导入 R 或 SAS。

我尝试打开一个并使用另存为将文件保存为 R 和 SAS 支持的任何格式,如 XLSX 或 CSV 等。

问题是有数百个文件,不能一个一个地打开和保存。

任何可以合并到 PowerShell 进程中的进程都会很棒。