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

powershell - 使用具有自定义类型的 Generic.List 作为函数的返回类型不起作用

编辑#3。

我设法让它工作。我需要在主脚本文件中以正确的顺序加载所有依赖项。不是来自类文件,所以我会投票关闭这篇文章。


我在 Windows 10 上使用 powershell 5.0。$list = New-Object System.Collections.Generic.List``1[CustomClass]在大多数情况下,使用 List(例如)都有效。但是当我将它用作返回类型时出现错误。

下面的代码不起作用。

编辑:#1

我在下面尝试了此代码,但效果不佳。

编辑:#2

我在这个 repo 中推送我的测试脚本https://github.com/michaelsync/powershell-scripts/tree/master/p5Class

自定义类.ps1

CustomClass1.ps1

测试.ps1

如果我将所有类放在一个文件中,它就可以工作。我认为这与加载 ps1 文件的方式有关。(感谢@jesse 的提示。)

但如果我使用普通类型,如字符串、整数等,它就可以工作。

当我为通用列表分配自定义类时,它也有效。

这是我们无法返回具有自定义类类型的通用列表的已知问题吗?

0 投票
1 回答
227 浏览

windows - Nano 服务器上的 Powershell 5 输出

如果我在 Windows 10 上的 powershell 4 中运行此命令:

我明白了:

这太棒了!

如果我在 Windows Nano Server 上做同样的事情是 powershell 5,我会得到这样的结果:http: //paste.openstack.org/show/479695/

我该怎么做才能获得命令的标准输出?

0 投票
1 回答
245 浏览

powershell - DSC V5 - 不断尝试重新应用失败的配置

我们已经开始使用 DSC 来部署一些应用程序。我们正在推出配置,只希望它运行一次此配置然后停止。但是,如果配置失败,我们最终会得到一个挂起的配置,DSC 似乎会继续尝试重新应用。这是预期的行为吗?无论如何,我们是否可以防止这种情况发生。

这是我们的 LCM 设置

0 投票
1 回答
873 浏览

powershell - 凭证和内部版本 10586 的 DSC 问题

最新的 windows 10 版本推出了更新版本的 powershell (10586)。

除了https://dscottraynsford.wordpress.com/2015/11/15/windows-10-build-10586-powershell-problems/中记录的证书所需的更改之外,我似乎还有一个问题,同时尝试应用配置:

警告消息 应用部分配置 [PartialConfiguration]ExternalIntegrationConfiguration 时发生错误。错误消息是:解密失败..

使用相同的证书,我可以使用 build 10.0.10240.16384 成功创建 MOF,并成功应用它。因此,查看两个 MOF 之间的差异,我发现 build 10586 构建的 MOF 如下所示:

而不是过去在构建(10.0.10240.16384)中的样子:

所以内容不一样。我确实检查了是否可以使用 Get-CmsMessage 和 unprotect-CmsMessage 解密凭据,并且可以。所以公钥/私钥的东西似乎很好。

是否应该对正在应用配置的机器进行更新?我没有看到任何新的 powershell 版本。

任何想法,将不胜感激。

0 投票
2 回答
189 浏览

powershell - Powershell 5剪贴板-手动粘贴“复杂”剪贴板内容不起作用

我刚刚在我的笔记本上安装了 Win10,并初步了解了所有新的命令行开关。

在使用简单的文本时,例如:

例如,手动将其粘贴到记事本中就可以了,我在处理一些更“复杂”的剪贴板内容时遇到了麻烦。让我们使用dir | Set-Clipboard. 我知道在控制台中你必须使用Get-Clipboard -Format FileDropList它来取回它,但是将结果粘贴dir到记事本中呢?在这种情况下,显然粘贴是禁用的。

有人知道为什么这还行不通吗?在控制台中选择输出并将其粘贴到记事本中的老式方法仍然可以正常工作。

0 投票
2 回答
5108 浏览

powershell - Trying to use getElementById in Powershell with IE 11, error Exception from HRESULT: 0x800A01B6

I'm trying to automate logging in on a website, but I can't seem to use getElementById. getElementsByClassName("whatever")[0] seems to work, but the elements I need don't have class names and I can't change that.

I'm using PS 5, IE 11. Here's an example of my code, and the resulting exception.

Error:

0 投票
0 回答
343 浏览

visual-studio - 无法在 Visual Studio 2015 调试监视/本地窗口中检查 PowerShell 字符串 [] 数组

我有以下代码:

在 Visual Studio 2015 中调试上述 PowerShell 脚本时,我注意到以下特点。如果我在监视窗口中从上面检查三个变量,我会看到以下内容:

在此处输入图像描述

奇怪的是,当我展开时,$other_things我看不到任何成员元素。我知道他们在那里,因为我可以使用以下方法遍历数组:

并在 VS 的输出窗口中得到以下输出:

在此处输入图像描述

因此,如果我在分配给string[]VS 期间强制转换我的数组变量,似乎无法扩展该数组。如果我不按预期工作。

在 PowerGUI(我常用的 goto PowerShell 调试/脚本 IDE)中运行相同的代码不会出现相同的问题:

在此处输入图像描述

这是 Visual Studio 2015 Powershell 调试器中的错误吗?

(背景:出现这种情况的原因是我正在调用旧版.asmxSOAP Web 服务,并且其中一个服务方法返回一个string[]数组,就像$other_things上面我无法检查的那样。直到我将服务调用包装在数组中子表达式运算符 ( @()),它返回给我一个System.Object[]字符串数组,然后我可以正确检查数组内容吗?)

0 投票
0 回答
254 浏览

class - Powershell V5 class properties

Is it possible to create property accessors and mutators (Get() and Set()) in powershell V5 classes? "about_Classes" shows how to create them for the class itself, but not the classes properties.

0 投票
1 回答
324 浏览

winforms - 在单独的运行空间中管道 ListView 项目

我有一个用 PowerShell 编写的表单(因为它使用 PS 在数百台服务器上运行命令),但这一点让我难倒了一段时间:

它位于一个单独的运行空间中,该运行空间将 Invoke-Command 运行到特定服务器并将输出通过管道传输到此代码块。

现在,如果我在主运行空间(创建表单的位置)中运行 Where 语句,它工作得非常好。但是,在单独的运行空间中,它会锁定表单。显示警告 1,不显示警告 2。

管道到 Foreach 语句有同样的问题,但我可以使用:

谁能解释一下?我没有对 ListView 或其项目做任何花哨的事情,似乎 ListView 不喜欢将其项目通过管道传输到另一个运行空间中。

0 投票
1 回答
1506 浏览

powershell - 更新到 Windows 10 后的网页抓取脚本问题

几天前我升级到 Windows 10,但我的脚本之一无法正常工作。这个简单的独立脚本演示了这个问题:

程序通过一个简单的屏幕导航到一个股票回测网站,点击“运行回测”按钮,这部分工作正常;我可以在可见的 IE 会话中查看进度。应该发生的是,然后单击“运行筛选器”按钮并显示 SP500 股票列表。

但是更新的(第一次点击后)网站信息显然不会回到脚本中。一两次我看到一个 RPC DISCONNECTED 类型错误,但我无法重现它。这是通常的错误信息:

所以初始导航到网站,第一个按钮点击工作正常,但第二个没有。我是否以管理员身份运行都没有关系,它在命令提示符下不起作用。我有一个类似的脚本在 Windows 7 上运行了很长时间,没有任何问题。我确实在防火墙设置中将 PowerShell 添加为允许的应用程序,但这并没有帮助。

有任何想法吗?