问题标签 [powershell-5.1]

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 回答
38 浏览

powershell - 将带有集合对象的数据插入 SQL Server 表

下面的代码不会出错,它会毫无问题地插入到 SQL Server 表中。但是[ServicePrincipalNames]数据没有按我的计划插入。

插入到表中的值是

我要插入的是该对象集合中的值,如下所示:

执行插入的代码如下所示。我怎么能改变它让插入将所有服务放在列中,用 分隔|

0 投票
1 回答
33 浏览

powershell - 无法根据特定值进行评估

我无法思考如何解决这个问题的正确逻辑。我有一个接受两种类型开关的函数:

  • -Add
  • -Remove

我可以通过几种方式运行它:

  • Test-Bool -Workflow spg -UserName a -Add-作品

  • Test-Bool -Workflow spg -UserName a -Remove-作品

  • Test-Bool -Workflow spg

    • 应要求删除或添加:键入Addworks

    • 键入Remove不起作用

这是有道理的,因为elseif (-not$PSBoundParameters['Add'].IsPresent) { $Add = & $ABool }首先被评估,当被问到时,输入Remove将其扔到else块中,使其成为Break/Exit


问题:当输入(使True )时, 我可以更改什么以使$Remove被评估为 true 和反之亦然?Add$Add

老实说,我让自己非常困惑,以至于我决定在这里发帖,而不是试图自己解决这个问题。

0 投票
0 回答
28 浏览

octopus-deploy - Powershell cmd没有输出结果

我正在安装一个部署工具,它运行以下 PS cmd 来检查 PS 是否可用:

但是没有输出返回。

我期待以下输出返回: System.Collections.Hashtable.PSVersion

我检查了 sys 变量,重新安装了 PS,所以我不确定为什么输出被阻止?

任何建议我还需要检查什么?

0 投票
1 回答
64 浏览

powershell - 包含来自另一个文件的枚举

在我的 Powershell“项目”中,我希望将所有常见的 Enum 放在一个文件中,然后从其他各种脚本中引用该文件。

我已经尝试对文件进行点源,并尝试将 Enum 文件转换为 psm1(导入模块),但到目前为止我没有尝试过任何工作。

例如,枚举文件 datatypes.ps1 看起来像这样:

我试图像这样包含它:

当我运行上述内容时,我收到错误消息:

找不到类型 [DataType]。

我以前使用点源来包含变量和函数,这些总是有效的。但是现在枚举拒绝工作:(

点源应该起作用吗?模块方法应该起作用吗?还是枚举必须位于同一个文件/脚本中?

编辑:

我想我可能已经发现了问题,似乎在包含包含之前脚本已被完全解析,这可能是问题吗?

0 投票
2 回答
622 浏览

powershell - 获取在某个日期之后创建的所有 AD 计算机

我创建了下面的脚本来查找自特定日期以来创建的所有 Unix 计算机。它不会返回错误,但它也不起作用。脚本中只使用了一个日期,但两种格式的结果相同。

两种日期格式都不会失败,但它们不返回任何内容——查询只是显示为正在运行,但从不返回任何数据:

0 投票
0 回答
30 浏览

powershell - 正确提供来自 PowerShell 5.1 远程 Invoke-Command 的单独流式反馈

PowerShell 旨在支持和支持流式输出样式(输出和用户反馈在生成时可用,而不是在脚本完成时被转储)。PowerShell 提供了各种Writecmdlet、它们的流和它们的重定向功能来启用这种风格。

但是,当使用Invoke-Command时,在远程 PSSession 中操作时的流重定向行为取决于所使用的流。

例如:

Write-Host为简单起见,使用相同的行为发生Write-Information -InformationAction Continue

实验表明流的行为因流而异:

  • 成功 (1) 和错误 (2) 正常输出重定向
  • 警告 (3) 和详细 (4) 输出无条件类似于信息 (6),但它们的格式被保留
  • 调试 (5) 正常重定向(尽管继续提示不重定向)

我可以看到一些自定义方法来陪审团流输出,随后可以轻松过滤(例如,使用识别前缀输出到 Success)。

有没有一种好方法可以从远程命令中流式传输单独的输出和反馈,这将遵守某种形式的 PowerShell 常见做法,或者有一种方法可以让重定向按预期运行?

0 投票
1 回答
188 浏览

powershell - ErrorAction "SilentlyContinue" 不填充 ErrorVariable

问题

使用-ErrorAction "SilentlyContinue"时,错误变量未按照以下文档中的说明进行填充:以 PowerShell 方式处理错误

问题

如何防止错误按原样显示-ErrorAction "Continue"但仍填充错误变量?

奖金问题

有没有办法将错误附加到错误变量以存储多个错误?

MWE

脚本

输出

继续

Get-Item:找不到路径“C:\tmp\error1”,因为它不存在。

在 C:\tmp\mwe.ps1:43 字符:5

    • CategoryInfo : ObjectNotFound: (C:\tmp\error1:String) [Get-Item], ItemNotFoundException

    • FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

Get-Item:找不到路径“C:\tmp\error2”,因为它不存在。

在 C:\tmp\mwe.ps1:44 字符:5

    • CategoryInfo : ObjectNotFound: (C:\tmp\error2:String) [Get-Item], ItemNotFoundException

    • FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

误差变量

Get-Item:找不到路径“C:\tmp\error2”,因为它不存在。

在 C:\tmp\mwe.ps1:44 字符:5

    • CategoryInfo : ObjectNotFound: (C:\tmp\error2:String) [Get-Item], ItemNotFoundException

    • FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

默默地继续

误差变量

停止

Get-Item:找不到路径“C:\tmp\error1”,因为它不存在。

在 C:\tmp\mwe.ps1:43 字符:5

    • CategoryInfo : ObjectNotFound: (C:\tmp\error1:String) [Get-Item], ItemNotFoundException

    • FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

0 投票
1 回答
50 浏览

powershell - 访问属性或将哈希表转换为对象

所以基本上我试图返回一个与我的白名单中的帐户不匹配的帐户列表。

我就是这样做的。

现在$checkUsers将值存储为(我能理解的哈希表)从Select-String原样返回。

我已经尝试了很多事情来让你对细节感到厌烦,所以我会简短地说,我会直截了当,我在这一点上失去了理智......

如何将其变成一个对象,以便我可以:例如。

如果我自己创建一个哈希表并在其中存储一些值,我可以访问没有问题,但是当它从 的输出返回时Select-String,我不能用它做任何事情......

0 投票
1 回答
70 浏览

json - powershell 5.1 中的哈希表的键和值是否有任何限制?

我正在使用 PowerShell 5.1 并在哈希表中添加键、值内容。但我看到,当值在 60​​00 个字符左右太大时,它不会在值中添加完整的内容。所以,我的问题是:在我们使用 PowerShell 哈希表时是否有任何限制,如果有,将内容保存为键值对的另一种方法是什么。

0 投票
1 回答
52 浏览

powershell - powershell并行增加阈值

如何并行增加阈值。

我已经做了一些研究,它使用这些语法来增加,但不确定如何在我的代码中实现。

我的代码: