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

powershell - 从powershell中的命令输出中选择多个字符串

这可能是一个以前已经回答过的简单问题,但我就是找不到。我正在尝试从我制作的简单脚本中过滤掉不需要的文本/输出。

我想添加的不仅仅是已建立的连接到输出窗口,例如 UDP 和 TCP 连接,但要删除环回地址。如果有更好的方法或更有效的方法来做到这一点,那就太好了。

0 投票
0 回答
54 浏览

windows-10 - 通过不同方式启动PowerShell时的奇怪行为

我有一个分配给上下文菜单的 Powershell 脚本,它运行良好。最近,在我重置我的 win10 系统然后手动重新配置我的整个系统之后,Powershell 开始表现得很奇怪。该脚本将不再正确运行,经过大量研究,我发现问题是由Set-Clipboard通过上下文菜单启动时作为 PCSX 版本的 cmdlet 引起的,如果我手动启动 powershell,它是原始版本。它是怎么发生的?我的脚本具有PCSX 版本中不存在的Set-Clipboardwith-value参数,它会导致错误。

PCSX 版本 原版

0 投票
1 回答
259 浏览

windows - 如何将文件夹中的每个 X 子文件夹压缩为单独的 rar 文件

我对 Powershell 编码真的很陌生,需要你的帮助

我在带有 Powershell 5.1 的 Windows 10 上,并试图用 Winrar 解决它。主文件夹包含 5000 个子文件夹我想指定每个存档应包含多少个文件夹,并将其中的每个 X 压缩为单独的 rar 文件。

创建文本文件并为每个 rar 文件创建一个 .txt 文件,其中包含每个 rar 中的所有子文件夹名

例如:首先:指定每个存档应该包含多少个文件夹

包含 5000 个子文件夹的文件夹名称为“Project”

所有 rar 文件应与主文件夹同名,并带有连续编号:在这种情况下

每个 rar 文件都有一个 txt 文件,其中列出了 rar 文件的内容

有没有办法不手动执行?

0 投票
1 回答
235 浏览

powershell - 如何让 PS 脚本访问需要管理员访问权限的文件夹

我是我公司的桌面支持技术人员,我们经常执行大量重复性故障排除,例如从 C\windows\temp、本地 appdata 临时文件夹以及 google 和 IE 缓存/清除临时文件和缓存饼干。我正在编写一个 powershell 脚本来一次性完成这一切,它完成了它应该做的事情。唯一的问题是,当我在用户的计算机上时,我必须首先实际访问 windows temp 和本地 appdata 文件夹,然后运行脚本才能使其工作。我相信这是因为这两个文件夹需要管理员权限才能进入。由于我是管理员,因此我可以很好地访问文件夹,但是我无法找到要插入的代码以允许 powershell 脚本访问这些文件夹。笔记:我在脚本的开头确实有一个命令以管理员身份启动 powershell,但这似乎还不够。我的代码在下面,对此的任何见解都会很棒。(看起来我在代码中的评论标签把评论变成了粗体,道歉)

0 投票
1 回答
136 浏览

powershell - 结果为单个字符串,每行需要一个

尝试将 get-netadaptor 的一些属性与 get-netipaddress 结合起来

尝试了我所知道的一切,但变量 $getnet-name 的结果都在一行上


这是我陷入循环的地方

每个接口重复相同的结果


希望最终也能仅使用 Get -AddressFamily 过滤器过滤 IPv4 地址


目前正在工作,但这确实可能不是这样做的好方法。如果您想添加它们,更优雅的替代解决方案会很有帮助!

谢谢!

0 投票
1 回答
129 浏览

powershell - 使用 powershell 以交互方式终止进程

如何创建在powershell中杀死进程的交互式方法?

最好以使用输入字段的形式终止进程,以查找并终止所需的进程。

0 投票
1 回答
246 浏览

powershell - Get-Package 命令包含 xml 字符串 - 需要转换为 PSObject

Get-Package SwidTagText需要来自对象的Windows 更新安装日期。该对象采用 XML 格式,我尝试转换的所有内容都不起作用。

我正在尝试从 WMI 切换,因为它拉回结果非常慢。

试过这个ConvertFrom-XML功能。也试过ConvertFrom-String

0 投票
0 回答
24 浏览

powershell - 将参数限制为特定类型;使用 CimInstance 时

有没有一种明智的方法来限制用于函数的参数类型,当它可能被封装在一个CimInstance?

例如,假设我有如下方法:

问题?

  • 有没有更好的方法来强制执行参数的类型;即使用参数类型,而不是验证脚本?
  • 有没有办法使 CIM 与 WMI 的实现不可知,以便它只关心对象是 SecurityDescriptor/Access Control Entry?

即我的要求只是第一个参数是安全描述符,我的第二个是ACE;但是因为我在当前的实现中使用 CIM 来获取这些,所以它们恰好是CimInstance. 然后我希望强制它们代表正确的底层对象,因此必须使用ValidateScript来检查CimClass. 但是,从这个功能的角度来看,CIM 的使用是一个任意的细节;它

0 投票
1 回答
306 浏览

powershell - 传递给 Invoke-Command 的属性将类型从 IDictionary 更改为 HashTable

Invoke-Command在脚本块采用字典类型参数的情况下,我一直在运行错误:

无法处理参数“字典”上的参数转换。无法将“System.Collections.Hashtable”类型的“System.Collections.Hashtable”值转换为“System.Collections.Generic.IDictionary`2[System.String,System.String]”类型。在 line:7 char:1 + Invoke-Command -ComputerName 。-ArgumentList $dictionary -ScriptBlock ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [], ParameterBindin...mationException + FullyQualifiedErrorId : ParameterArgumentTransformationError + PSComputerName:本地主机

经过大量挖掘,我能够将脚本简化为下面的 MVP 以显示此问题的根源:

似乎如果脚本块Invoke-Command包含任何内联函数,则参数会自动转换为HashTable; 而如果脚本块不包含任何嵌套函数定义,则参数保留为System.Collections.Generic.IDictionary[string, string].

我是否在滥用此功能/是否有常见的解决方法?或者这只是 PowerShell 中的一个错误?

0 投票
2 回答
110 浏览

powershell - Ignore CTRL+C in delay - powershell

Whenever I set a delay in powershell using Start-Sleep, e.g:

then it does not ignore CTRLC. I mean when I hit that key stroke the delay quits. How can I ignore it in delays?