问题标签 [powershell-7.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 回答
163 浏览

json - Powershell Parse Swagger Json

以下工作将 Swagger json 解析为资源、方法、httptype 但可能...... $path.Definition 部分很奇怪,我怎样才能让 $path.Definition 成为一个数组而不是我需要解析的字符串数组符号。

0 投票
0 回答
34 浏览

powershell - Powershell 替换值

请帮忙,我正在尝试针对 API 运行以下命令。我想返回我最关心的字段,即 VmName、Vpgname,然后创建一个名为“StatusText”的新列,在此列中我试图查询 $_.Status 的值并说它是否等于 1 来替换 enter 或如果没有,则将所述列中的值替换为“会议 SLA”,然后说它本质上需要注意。

0 投票
1 回答
4312 浏览

powershell - 安装模块不可用 - 无法识别为 cmdlet 的名称

我正在尝试利用需要安装模块的 PowerShell 库。出于某种原因,我无法在我可以访问的任何计算机上使用它:

我在 Windows 8.1、Windows 10 上进行了尝试,甚至在 Windows 10 计算机上安装了 PowerShell 7.1。我看到很多人都有这个问题,但除了安装 WMF(似乎已经包含在 Win10 中)之外,我没有看到任何有用的建议。

我没有太多使用 PowerShell 的经验,也绝对不会管理它,所以我很好奇是否有人知道为什么这不起作用。

编辑1: 我似乎PowerShellGet在以下目录中有模块:

$env:PSModulePath变量包含C:\Program Files\PowerShell\Modules;c:\program files\powershell\7\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

编辑 2: 这可能与所有受影响计算机上__PSLockDownPolicy设置的环境变量有关。4我可以通过尝试手动加载PowerShellGet模块来解决这个问题,这会产生一个暗示这一点的错误。

删除该环境变量后,它似乎可以工作。

0 投票
2 回答
922 浏览

linux - 如何在 Linux 上使用 Powershell(提升 Powershell,以管理员身份运行命令)“sudo”?

如果你想在 Windows 的 PowerShell 上以管理员身份运行命令,你可以这样写:

但这在 Linux 上是不可能的。Powershell 会返回以下错误:Start-Process: The parameter '-Verb' is not supported for the cmdlet 'Start-Process' on this edition of PowerShell.确实,根据Powershell 在线文档,“ [ - Verb]参数不适用于非 Windows 系统”,因此无法在 Linux 上像这样以管理员身份运行 Powershell。

我的问题很简单:如何在 Linux 上提升 Powershell 权限?如何sudo ...在 Linux 上使用 Powershell 模拟 BASH?我知道你可以用 bash 和类似的东西来解决这个问题sudo pwsh -Command '...',但我正在寻找一种“100% PowerShell”的方法来做到这一点。

提前感谢您的回复。

PS:“PowerShell”是指最新的“PowerShell 7”。

0 投票
1 回答
313 浏览

powershell - What is Set-PSRepository scope effect?

Executing

in a Powershell 5 session,

Question

  • will its effect remain in subsequent new sessions?
  • If later I install a Powershell Core 7.x.x will those session affected?

(In general it is not clear for me how side by side installed PowerShell 5 and PowerShell Core 7.x.x how cross side effected in 5->7 and 7->5 direction)

0 投票
0 回答
119 浏览

powershell-7.0 - New-AzureADApplication RequiredResourceAccess

我是 Powershell 的新手,如果我不使用正确的术语,请多多包涵。

我正在尝试使用我找到的一段代码来注册应用程序并设置 -RequiredResourceAccess。我在这方面发现的所有内容都以相同的基本方式处理它,所以我想知道这是否是我遇到的 7 vs 5 的问题。我只是不够了解。

使用以下代码,我得到以下错误,就好像它看到的是字符串而不是对象。认为这是我在其他地方看到它的方式。

Set-AzureADApplication:无法绑定参数“RequiredResourceAccess”。无法转换值“class RequiredResourceAccess { ResourceAppId: 00000003-0000-0000-c000-000000000000 ResourceAccess: System.Collections.Generic.List 1[Microsoft.Open.AzureAD.Model.ResourceAccess] } " to type "Microsoft.Open.AzureAD.Model.RequiredResourceAccess". Error: "Cannot convert the "class RequiredResourceAccess { ResourceAppId: 00000003-0000-0000-c000-000000000000 ResourceAccess: System.Collections.Generic.List1[Microsoft.Open.AzureAD.Model.ResourceAccess] } ”值类型为“Deserialized.Microsoft.Open .AzureAD.Model.RequiredResourceAccess”以键入“Microsoft.Open.AzureAD.Model.RequiredResourceAccess”。

0 投票
0 回答
45 浏览

powershell - 使用重定向时,PowerShell 调用运算符输出为空

我有一个小脚本,C:\so\test.ps1,其内容是:

该脚本故意引用一个不存在的模块以引发错误。

当我在没有重定向的情况下运行此脚本时,我会在以下位置收到预期的输出$out

但是,一旦我添加重定向,输出为空:

这里发生了什么??

我能够用System.Diagnostics.Process. 以下是 的内容C:\so\testprocess.ps1

运行此脚本时不输出任何内容。

此问题在 PS 7.1.0 上无法重现:

PS 7.0.0 发生了什么样的邪恶巫术,错误消息在Invoke-Expression没有重定向的情况下出现,但没有出现在???的输出中 是否有只有(没有重定向)知道的第三个流(除了标准输出/标准错误) ?$out&System.Diagnostics.Process&

0 投票
0 回答
311 浏览

powershell - 在调用任何其他 cmdlet 之前,您必须调用 Connect-AzureAD cmdlet

执行下面的示例代码时出现上述错误。这与使用 -UseWindowsPowerShell 导入有关吗?有什么想法或建议吗?

0 投票
2 回答
264 浏览

powershell - 跳过 powershell 启动检查新版本

tl; dr如何强制 Powershell 跳过检查新版本?

当我启动 Powershell 7 时,它会检查新版本的 Powershell。

目前,这看起来像

对新版本的此检查会延迟 Powershell 的启动。有时这种延迟是十到二十秒。这有点烦人。 我想跳过 powershell 发布检查。

0 投票
0 回答
274 浏览

powershell - Powershell 的 Invoke-RestMethod 在循环中调用时不等待响应

有一些类似的帖子,但没有完全相同(或者他们没有清楚地描述这个问题,如果他们是相同的)。

我有一个脚本,它使用 Invoke-RestMethod 进行一次 API 调用,然后迭代该调用的结果,使用其中的值进行其他调用。值替换等很好,我可以看到(通过使用 Write-Host 转储 Uri 以及从 API 日志本身)调用正在成功进行。

如果我这样做:

然后 $response 会按照您的预期填充,并包含来自 API 端点的 json 响应。响应时间为几百毫秒。

另一方面,如果我有一组团队对象并执行以下操作:

然后它遍历整个 $teams 数组并在每个 Write-Host 行上输出空值(无论你用它做什么都会发生同样的情况,我只是在这里使用 Write-Host 作为示例;发送它到 Select-Object 等显示它仍然是空白的)。

这是故意的吗?我认为不会,因为它很生气。我有一个临时解决方法(是的,这太糟糕了......)将第一次 Api 调用的结果写出到一个文件,然后遍历该列表调用一个脚本,该脚本在没有 foreach 循环情况下执行后续调用每一行的脚本。有没有更好的办法?

我试过 -DisableKeepAlive - 没有区别。我尝试将 -TimeoutSec 值设置为一个小数字、一个大数字等 - 没有区别。我试过 -OutFile 并写出一堆空文件。

感觉——在没有任何证据的情况下——当在循环内调用它时,它正在等待 HTTP 响应(即 200),然后不下载任何响应正文。

这是 Powershell 7.1.3,顺便说一句。

提前干杯!