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

windows - How to run leiningen tests having > (greater than) symbol in their name under Windows?

I can't refer to tests having -> in its names because > symbol is treated as stdout redirection.

Under PowerShell 4.0 I run current stable Leiningen 2.4.2 with parameters being escaped by --%:

I see only stderr in the console, but as a side-effect I get bar file created with the following content:

0 投票
1 回答
1894 浏览

powershell - 如何使用类似 whrere-object 的方式从注册表中过滤多个项目?

我试图通过使用从注册表中获取一些项目where-object,我只能过滤一个项目但多个项目......我的脚本有什么问题吗?

代码仅适用于一项

但是如果我将它设置为过滤多个项目,它会运行,结束,没有任何结果......知道为什么吗?

如果我使用

它只给了我 3 个匹配项Security,而不是全部匹配项,为什么?

0 投票
1 回答
533 浏览

powershell-4.0 - Powershell命令返回结束日期

我试图让昨天的日期包括小时......对于开始日期,我正在使用:

这有效,因为它在最后返回 12:00:00 AM 的日期。

结束日期是我卡住的地方。我需要它在晚上 11:59:59 结束

0 投票
1 回答
3181 浏览

api - 将列表传递给 Powershell 中 API POST 方法的参数

我在使用 Powershell 将字符串列表传递给 API 方法时遇到了一些困难。

我尝试了什么:我没有尝试什么?我的最新版本是这样的:

这会导致 API 接收到以下值:

[0] = "Foo_1 Foo_1000002"

但我尝试过数组,以及括号、方括号、单引号和双引号的各种不同组合。在所有情况下,contents 参数要么接收一个对象类型,要么接收一个值,它是我试图传递的值的串联组合。

我确信我不是第一个必须将字符串列表传递给 API 方法的人,但是搜索它包括许多导致不相关匹配的常用术语。

0 投票
0 回答
59 浏览

api - 如何处理 Powershell 中 API 调用引发的错误

我正在编写一个 Powershell 脚本,该脚本需要轮询 API 方法以查看它是否可用。如果这个 API 要返回 400 的东西,我该如何处理呢?

考虑这段代码:

如果来自服务器的响应是 400 Bad Request,Powershell 会以意想不到的方式运行:

Invoke-WebRequest :“错误请求的某些原因。” 在 C:\SomePath\SomeScript.ps1:19 char:26 + $response = Invoke-WebRequest -uri $uri -ContentType "appl ... + ~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest: HttpWebRequest) [Invoke-WebRequest], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

响应状态码是 。

请注意,状态代码不可用,主要是因为$response不包含任何内容。我需要$response填充来自请求的响应的详细信息,以便脚本可以决定做某事。我怎样才能捕捉到这些信息?

0 投票
1 回答
117 浏览

powershell - PowerShell - 通过单击 .aspx 网页上的按钮检索远程服务器上的文件

这是我的问题:

当我从 PowerShell 本身执行脚本时,我有一个成功运行的 PowerShell 脚本。但是,当通过单击网页上的按钮调用脚本时,它会失败。

脚本本身(通过函数)连接到远程服务器并检索一些文件。当它从按钮失败时,它会调用函数连接到远程服务器但无法实际连接 - 它表示参数为空或空。

注意:在到达这部分脚本之前,其他几个进程已成功运行,因此从网页按钮连接到远程服务器似乎确实存在问题。

有谁知道为什么会发生这种情况?从网站上的按钮运行时这可能不起作用(尽管脚本成功运行),是否有原因?

任何帮助是极大的赞赏。

约翰男孩

编辑

该脚本很大,但本质上归结为使用一些预定义的连接属性,然后使用计算机名称、用户名和密码连接到远程计算机的函数。即:function Connect() { $o = New-PS $o.UserID = "userID" $o.Password = "pswd" $o.Computer = "computer.app.net" return $o }

.aspx 按钮只是打开并运行 PowerShell,然后运行我的脚本。它成功运行 PowerShell 程序中的所有脚本,直到它必须连接到这台远程计算机。

也许这是一个身份验证问题,但我可以在哪里添加它?

0 投票
2 回答
783 浏览

api - 将对象数组发送到 Powershell 中的 API

我需要与期望对象数组以及其他参数的 API 进行交互。例子:

在这个答案的帮助下,我尝试了两种不同的处理方式。我将它们组合成一个代码示例:

这将产生以下输出:

如您所见,这不会像有效的 JSON 那样有效。处理此分配的最佳方法是什么,以便在通过后正确形成版本名称ConvertTo-Json

0 投票
1 回答
204 浏览

xml - Power Shell:For Each Loop 和 XML 输出问题

我之前曾问过一个关于这个脚本的问题,但是我需要帮助的部分得到了修复,所以我决定问一个新问题。

我正在研究一个 PS 脚本,该脚本获取目录中每个文件的哈希值以及位于其他位置的一些特定文件,将它们组合成一个 csv,然后将它们与之前捕获的基线进行比较。然后有一个 for each 循环,其中每个具有不同散列的文件都被输出到一个 XML 文件,其中包含算法、散列、文件路径和最后修改日期的信息。

我从用户 Mathieu Buisson 那里得到了极好的帮助,但我遇到了另一个错误。

我的理解是,循环会获取每个发现不同的文件,转换我需要的字段,然后将它们全部附加到文件中。最后一行将这些转换为 xml 并输出它们。

我的问题是输出。基线和差异文件创建正确,success/fail.txt 文件生成且准确。问题是 xml 要么出现空白,要么只列出以前不存在的文件。在这个程度上,它只在 xml 中列出了一个文件,即使 PS 控制台显示两个或更多。

如何获取 XML 中已更改文件的完整列表?

如果还有我需要提供的信息,请告诉我。

非常感谢您的帮助!!

0 投票
1 回答
59 浏览

.net - 如何为 Powershell 创建仅命名参数?

我正在尝试创建一个 powershell 函数,并且包含输入参数。除其他外,有一个我只关心它是否被命名的参数(它的价值并不重要,只是用户使用它)。我很难让 powershell 以这种方式工作,因为它一直期望参数有一个参数。

我已经阅读了Microsoft 的Parameter Attribute Declaration页面,该页面似乎没有解决命名(仅)参数。这是我的测试功能:

我的问题很简单,如何创建仅命名参数?

0 投票
2 回答
5827 浏览

powershell-2.0 - 使用 Powershell 比较两台服务器上的注册表项

我想比较两个服务器注册表项以确保它们都匹配。

像这样简单的事情是最初的计划:

这对于一个指定的键非常有用,但我有多个带有子文件夹的键。我无法提供我想要检查(和循环)的列表,因为我想确保没有添加任何新内容。所以我画了这条路线来获取注册表中指定分支下的所有键(给我一个列表):

所以我现在有一个对象可以告诉我服务器上的所有注册表 SUBFOLDERS,然后我可以使用 $local1.PSPath 循环给我所有路径,但我注意到对象中有一些有趣的东西:

这将返回:

所以对象成员“属性”包含看起来像所有键的数组还是子对象?

如果它是一个子对象,它是否包含我要比较的键值?

我可以使用上面的代码抓取 $local.Name 成员并循环比较并存储任何差异,但我只是想知道如果它包含我需要的信息,使用我已经拥有的数据是否会更有效?

我希望有人可以确认,如果我这样做了:

当我进行比较时,我实际上是在比较键和值匹配还是仅存在键?:

长话短说,我想我有所有我需要比较注册表键值匹配的数据(通过运行这个):

返回(摘录):

我是否正确,有人知道如何从 $local1 对象访问单个项目吗?以上面的例子,什么是 Hive?假设我想要“00001602-0000-0010-8000-00aa00389b71”值,我将如何从 $local1 对象中获取它。

需要注意的是,当我在 Powershell 4 上进行测试时,服务器正在运行 Powershell 2(我无法在生产服务器上进行测试)。我提到这在 v2 服务器上运行 $local1 我得到不同的输出,因为属性似乎不是成对的。

在这种情况下,v4 对象会做我想做的事,而 v2 不会吗?