问题标签 [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 投票
0 回答
1972 浏览

powershell - 如何在 powershell 中创建自定义事件视图?

我一直在环顾四周,找不到在 Powershell 的事件查看器中创建自定义视图的任何方法。

在此处输入图像描述

我找到了一篇关于导出一个 Microsoft Scripting Guy 的帖子,但我想从头开始创建一个。我正在使用 PowerShell 5.0。

编辑: 看起来所有事件日志都存储在文件中%SystemRoot%\System32\Winevt\Logs\并作为.evtx文件存在。

编辑: 命令:

确实LogNameHere.evtx%SystemRoot%\System32\Winevt\Logs\目录中创建。您可以指定多个源,但这仅允许这些源写入事件日志,而不会记录来自这些源的所有信息。(我会检查的)

0 投票
1 回答
853 浏览

powershell - PowerShell“Get-Help -ShowWindow”不会显示所有帮助部分

即使它们在设置中被选中

在此处输入图像描述

特别是缺少参数。在控制台中也会发生同样的情况。Win 10 Pre、PowerShell v5 分别

有任何想法吗?

谢谢

PS这就是我所缺少的,它应该像使用 -full 开关一样显示在窗口中

0 投票
2 回答
3626 浏览

windows - Windows 10 Powershell Invoke-WebRequest “Windows 安全警告”

好吧,这是我认为微软需要立即解决的一大问题。重现此的步骤:

powershell> Invoke-WebRequest "anywebsitewithcookies.com" (我们以 microsoft.com 为例)

发生的情况是您收到以下警告:http: //i.stack.imgur.com/TR023.jpg

现在这简直太可怕了。为什么微软认为这是可以接受的,我无法理解,但是在Windows 8.1 中有一个解决方法。如果您进入:

控制面板 > Internet 选项 > 隐私 http://i.stack.imgur.com/OSLS3.jpg

您可以将 cookie 设置为始终被接受。这是摆脱此消息并仍保留 DOM 解析功能的唯一方法。-UseBasicParsing 对我来说不是一个解决方案,因为我想使用 Invoke-WebRequest 返回的功能而无需基本解析。

然而,现在在 Windows 10 中,无论出于何种原因,微软决定去掉这个滑块:i.stack.imgur.com/jeNm3.jpg

这个问题可以在每台 Windows 10 机器上重现,并且完全破坏了 Invoke-WebRequest 在静默脚本环境中的使用方式,因为脚本挂起并等待对话框被回答。有没有办法像 8.1 一样设置 Cookie 以供所有人接受?我尝试了 Windows 10 中 Internet 选项中的所有设置,但没有任何设置是关键。我相信他们停止使用它,并且可能将该设置移到其他地方,但我找不到它。Microsoft Edge 也没有很多设置,因此它们都没有帮助。

这简直令人发指。任何帮助将不胜感激,因为这将在许多环境中造成相当混乱。

0 投票
1 回答
629 浏览

powershell - 通过远程连接的 PowerShell 导入模块

问题:当我使用脚本远程运行另一个依赖于模块的脚本时,模块没有被导入。


我有 3 个相互交互的脚本。Controller脚本、脚本BodyFunctions模块。

Controller正在处理对远程计算机的身份验证并body使用Invoke-Command.

body依赖于模块functions


如果我直接在远程计算机上运行 `body` 脚​​本,模块会正确导入并且脚本完成;但是,如果我使用 `controller` 脚本远程运行 `body` 脚​​本,则永远不会导入该模块。如果我将模块中的函数嵌套在正文脚本中(看起来很乱)并远程运行,脚本就会完成,所以我知道导入模块有问题。我还尝试将模块导入到 `controller` 脚本中。它可以正确导入,但是当 `body` 脚​​本执行时,它仍然找不到模块中的函数。(我猜它会导入本地 Powershell ... shell)我尝试使用 `-verbose` 标记运行导入模块以查看它是否正在导入,并且它适用于所有实例,除非使用 `controller`远程运行“body”。

编辑:我几乎可以肯定这是因为它试图在远程计算机上找到模块路径,并且该路径引用了主机上的一个位置。除了使用invoke-command从远程计算机返回到主机来导入模块之外,我不确定如何完成此操作。

0 投票
1 回答
13252 浏览

powershell - 如何在 Windows 10 上的 PowerShell 中创建文件硬链接?

如何在 Windows 10 上的 PowerShell 中创建文件硬链接?

PSCX 有New-Hardlink,但在 Windows 10 上仍然需要它吗?

您总是可以使用mklink,但是从需要您在命令前加上前缀的 powershell cmd /c,这是丑陋且难以记住的。

0 投票
1 回答
112 浏览

xml - 验证 xml 文件是否有数据通过 Powershell 中的第一个节点

我想验证一个 xml 文件是否有数据通过任何第一层节点。

我的 .xml 文件如下所示:

[NodeNameHere]和文件之间的[NodeName]变化,所以我不能用它来测试是否有子节点。

到目前为止,我已经尝试使用:

在上面的示例中,LastChild返回 true 而FirstChild返回 false。这会起作用,但是可能有另一个节点(不是第一个或最后一个)包含数据。

0 投票
4 回答
5176 浏览

powershell - 在 PowerShell 5.0 中打印本地组成员

我使用以下代码来确定本地管理员组的成员:

此代码适用于 PowerShell 2.0 - 4.0。但是,在我的装有 PowerShell 5.0 的 Windows 10 机器上,它坏了。对于属于本地 Administrators 组的每个本地帐户,它会引发以下错误:

对于属于 Administrators 的域帐户,不会生成错误。

令我困惑的是GetType()对象的成员(我手动追踪了命令),所以我不确定它为什么会出错。

我查看了 PowerShell 5.0 的变更日志,没有看到任何可以明显解释这种行为的内容。

为什么会这样?如果有更好的方法在 PowerShell 5.0 中打印本地组的成员?

0 投票
0 回答
697 浏览

powershell - Powershell 删除项目 Cmdlet 错误

我正在使用 powershell 使用以下命令删除目录:

但是,它给了我以下错误:

我认为这很奇怪,因为该目录不应该被使用。我可以进入文件资源管理器并手动删除目录。我不太确定为什么会发生这种行为。我对powershell相当陌生,所以不完全了解它的行为方式。

我的脚本与程序的交互包括:

  • 创建文件夹
  • 将 MSI 下载到文件夹
  • 设置一个变量来表示存储在文件夹中的 MSI。像这样:


我假设与文件夹有关的东西在某种流中,但不知道如何解决这个问题。

编辑:这是我使用的涉及文件夹的代码:

创建文件夹:

下载 MSI:

0 投票
3 回答
3277 浏览

powershell - New-Item改变函数返回值

我想编写一个函数,在指定文件夹内创建一个具有指定名称的文件夹(如果它不存在)。事实证明,根据调用New-Item函数返回不同的值。而且我无法弄清楚它与New-Item实际有什么关系。

如果folder1 不存在,它将返回:

否则:

除非作为参数Move-Item支持,否则这不是问题。Object[]-destination

echo $destination返回:

我找到的唯一解决方案是不使用该功能:

如果文件夹 1 不存在:

否则:


Ansgar 建议后的工作示例:

0 投票
1 回答
59 浏览

powershell - 无法导入自定义模块

我有一些 PowerShell 函数,我想通过 command 将它们导入到我的服务器 2008 R2 中Import-Module。所以我创建了一个 psd1 文件,并在 psm1 中使用:Export-ModuleMember -Function "*-*" -Alias *.

但是,当我执行命令时:

我希望它应该导入我的函数,但它没有,也没有显示错误。然后我执行Get-Module -ListAvailable,我的功能被列出,但没有关于ExportedCommands

但是当我在本地机器上运行它时就可以了。以前有人遇到过这个问题吗?

此问题发生在 Windows Server 2008 R2、PowerShell 5.0 上。