问题标签 [powershell-core]

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 投票
0 回答
227 浏览

encryption - Linux 上的 PowerShell 核心加密

有没有办法将 Windows PowerShell 程序集或类文件加载到 Linux 系统上的 PowerShell Core 中?我正在尝试运行一个调用“System.Security.Cryptography.AesManaged”类来加密字符串的脚本,但出现以下错误:

这是我初始化对象的 PowerShell 代码:

欢迎任何帮助,如果有更简单的方法可以做到这一点,我很想知道!

0 投票
1 回答
215 浏览

powershell - 使用 powershell 将 CentOS 机器添加到域?

我想使用 PowerShell 命令将我的 CentOS 机器添加到我的 Windows 域(在 centos 服务器上安装 PowerShell 之后)。

我可以使用带有领域的 linux 本机命令来做到这一点,但我不想要那种方法。

我有使用 unix 命令的解决方案,但由于安装了 powershell,我需要一个适用于 unix 和 windows 的命令。

0 投票
1 回答
350 浏览

powershell - Debian Docker 容器中的 PowerShell Core 错误

我是 Docker 新手,正在尝试创建一个安装了 Raspbian 基础和 PowerShell Core 的 Docker 映像。

编辑:更新 Dockerfile 以包含libicu52包,这解决了主要错误:缺少libpsl-native或依赖项不可用。更改了CMD参数,现在有不同的错误。

这是我的 Dockerfile:

新错误:

如何解决这些错误?

提前致谢!

0 投票
0 回答
403 浏览

c# - 调用 PowerShell 5.1 命令的 C# 控制台应用程序 - Visual Studio Code

我正在编写一个将作为服务运行的 Windows 控制台应用程序。控制台应用程序必须能够执行 Windows PowerShell 5.1 命令。我需要的命令还与 Powershell Core 6.0 不兼容。

当我尝试使用.NET Core创建控制台应用程序时,似乎只能针对PowerShell Core而不是Powershell 5.1。

当我尝试使用.NET Framework 4.7创建控制台应用程序时,我看不到任何包含调用 PowerShell 所需内容的方法。

我正在寻找一种使用.NET Core调用PowerShell 5.1命令和模块的方法,或者一种我可以使用.NET Framework 4.7和引用程序集来调用Powershell 5.1 命令的方法。

如果您能指出我的任何文章或有代码片段,我将不胜感激。- 谢谢!

0 投票
0 回答
49 浏览

powershell-core - 如何在脚本中保存行号?

试图告诉脚本将行号保存为变量。

在 Windows Powershell 中运行良好,如果我手动将其放入 PS Core。

但是用 PS Core 运行一个调用另一个脚本的脚本,那一点对我不起作用。“获取变量”返回空白。

编辑:在 PowerShell-6.1.0-preview.2

还在 1 个脚本中进行了全部尝试,以确认它与行号不匹配。

同样,可以使用复制和粘贴(手动设置 $path),但是当我使用 PowerShell Core 运行 .ps1 时,“Get-Variable num”返回空白。

0 投票
1 回答
874 浏览

powershell - 使用 Powershell Web cmdlet 处理跨版本异常

我有一个针对 Windows PowerShell 5.1 运行的现有 PowerShell 模块。它在很大程度上取决于5.1 和 PowerShell Core 6 之间有一些相当显着变化Invoke-WebRequest的和cmdlet。Invoke-RestMethod

我已经设法使大部分代码在版本(桌面/核心)之间工作,但我遇到的最后一件事是处理 HTTP 失败响应引发的异常。现有代码或多或少看起来像这样。

除了来自服务器的 HTTP 响应代码失败所生成的异常之外,我不一定要捕获任何异常。Core 版返回的异常类型与桌面版不同,需要单独的代码路径来解析响应。所以最初我尝试了这个:

这在 Core 中运行时效果很好。但是在桌面上运行时,我得到一个Unable to find type [Microsoft.PowerShell.Commands.HttpResponseException]错误。

解决此问题的最佳方法是什么?我是否需要捕获所有异常,类型上的字符串匹配,然后重新抛出我不想要的?我是否缺少一种更优雅的方式,它不涉及为 PowerShell 的桌面版和核心版发布单独的模块版本?

0 投票
0 回答
580 浏览

sql - 调用 SQL 命令在 Power shell 核心 6.0.2 中不起作用

调用 sql 命令不起作用它引发以下错误有人可以帮助我吗

invoke-sqlcmd :术语“invoke-sqlcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在 D:\Process\VeevaNetwork\Code\HCP_HCO_External_ID_Network_Updates.ps1:7 char:9 + $result=invoke-sqlcmd -inputFile "D:\Process\VeevaNetwork\cfg\SQL Scr ... + ~~~~~~~ ~~~~~~ + CategoryInfo : ObjectNotFound: (invoke-sqlcmd:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

invoke-sqlcmd :术语“invoke-sqlcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在 D:\Process\VeevaNetwork\Code\HCP_HCO_External_ID_Network_Updates.ps1:8 char:10 + $result1=invoke-sqlcmd -inputFile "D:\Process\VeevaNetwork\cfg\SQL Sc ... + ~~~~~~~ ~~~~~~ + CategoryInfo : ObjectNotFound: (invoke-sqlcmd:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

Export-Csv:无法将参数绑定到参数“InputObject”,因为它为空。在 D:\Process\VeevaNetwork\Code\HCP_HCO_External_ID_Network_Updates.ps1:9 char:10 + $result |export-csv "D:\Process\VeevaNetwork\Out\HCP_EXTID_Update_Adh ... + ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Export-Csv], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportCsvCommand

Export-Csv:无法将参数绑定到参数“InputObject”,因为它为空。在 D:\Process\VeevaNetwork\Code\HCP_HCO_External_ID_Network_Updates.ps1:10 char:11 + $result1 |export-csv "D:\Process\VeevaNetwork\Out\HCO_EXTID_Update_Ad ... + ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo : InvalidData: (:) [Export-Csv], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportCsvCommand

0 投票
1 回答
89 浏览

powershell-core - Powershell Core 6 中未触发异步事件

我有一个 powershell 模块,它使用异步计时器事件来监视和触发操作。

在 Windows 的 powershell 终端中启动时它工作正常。

我很想知道它是否可以在 Raspberry Pi 上使用 Powershell Core 运行。几乎可以!

异步事件似乎没有正确触发,但后来我注意到,如果我与终端交互,我将开始看到 Verbose 日志语句吐出,然后异步事件将触发。因此,例如,我知道我的脚本应该添加一个计时器事件以在 10 秒内触发 - 但它永远不会触发 - 但如果我与终端交互(即使按下 Esc 键就足够了),详细日志会吐出,我可以看到正在记录的计时器事件,它将成功触发。

对此有什么想法吗?关于如何启动脚本以使其按预期工作以及它如何在 Windows 的 powershell 终端下工作的任何想法?我的解决方法是在异步部分启动后运行一个同步无限循环,以保持事物的活力并模仿我与终端的交互。但如果有一种更清洁的方法可以在 Raspberry Pi 上启动并让它正常工作,我会更喜欢。

0 投票
1 回答
486 浏览

docker - 是否可以在 Linux dotnet 容器中运行 PowerShell Core?

我可以看到没有 Powershell 存在于microsoft/dotnet

当我尝试以受PowerShell dockerfiles启发的以下方式添加它时:

...步骤RUN [...] apt-get install [...] powershell失败

我想尝试在 Debian Stretch 容器中使用 Ubuntu 方法太大胆了。我想知道是否有一种更简单的方法来获取同时存在dotnet-sdkpwsh存在的容器。

0 投票
2 回答
1339 浏览

unit-testing - 使用 C# 进行 PowerShell pscmdlet 单元测试

需要一些帮助来了解如何对我正在创建的 PowerShell 模块进行单元测试。

我正在使用 PowerShellStandard.Library 包来创建一些 cmdlet。我的命令源自 pscmdlet 而不是 cmdlet,因为我确实需要操作 SessionState 变量。

我创建了一个新的单元测试项目,并搜索了一些教程(例如https://www.hanselman.com/blog/TestingPowerShellScriptsWithNUnit.aspx),我发现我确实需要使用 Runspace 类才能执行pscmdlet。问题是下面的命令总是返回一个空运行空间:

有人最近在尝试这些并且有任何想法吗?