Questions tagged [powershell]

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.

Filter by
Sorted by
Tagged with
0 投票
2 回答
1350 浏览

带有 GUI 的 Power shell 脚本执行缓慢

我创建了一个带有 powershell 的 gui,它允许我将文件夹中的文件复制到一个地方。

例如,您有一个文件夹 A,在文件夹 A 中,所有这些文件夹中有文件夹 B 和 C,您有一堆名为 logfile + date.log 的日志文件

我的应用程序可以搜索所有文件夹并将日志文件复制到一个位置。

该脚本有效,但是当它获取要复制的文件列表时速度很慢,并且在窗口顶部显示“将文件复制到一个目录”旁边的位置显示“无响应”

我已经添加了脚本,你们可以看看,让我知道如何加快它。它引起问题的功能是在“这些是我似乎遇到问题的功能”之后

感谢您的帮助。编码

0 投票
1 回答
1256 浏览

从哪里开始为此创建 Powershell 脚本?

如果我需要为证书提供如下所述的额外权限,我什至从哪里开始在 Powershell 中?必须有一个 Windows 命令行可执行文件,我必须从命令行开始。只有这样我才能考虑用 powershell 脚本编写它,对吗?

  1. 单击开始,在搜索程序和文件框中键入 mmc,然后按 Enter。
  2. 在文件菜单上,单击添加/删除管理单元。
  3. 在可用的管理单元下,双击证书。
  4. 选择计算机帐户,然后单击下一步。
  5. 单击本地计算机,然后单击完成。单击确定。
  6. 在控制台根目录下的证书(本地计算机)下,在个人存储中,单击证书。
  7. 右键单击之前创建的 xxAzurehost1 证书。选择所有任务 > 管理私钥。单击添加,然后单击高级。单击位置并选择您的本地计算机。单击立即查找。在搜索结果中选择网络服务,然后单击确定。单击确定。在 xxxazurehost1 私钥的权限窗口中,选择网络服务并授予读取权限。单击确定。
0 投票
2 回答
8922 浏览

Out-File 到网络共享,写为 hostname.txt

我需要out-file将脚本的结果保存到网络共享中\\prod-automation\exampledir,并且我想递归删除 30 天以上的 IIS 日志,而不是文件夹。

这是我所拥有的:

当前的问题是我得到以下信息:

需要一些帮助才能完成这项工作。

0 投票
12 回答
50671 浏览

使用powershell,如何将“作为服务登录”授予帐户?

我正在尝试使用 powershell 配置帐户凭据,但我需要授予帐户“作为服务登录”的权限才能使其正常工作。如何在 powershell 中执行此操作?

0 投票
1 回答
16271 浏览

将文件列表复制到目录

有一个文件夹,里面有很多文件。只有一些文件需要复制到不同的文件夹。有一个列表,其中包含需要复制的文件。

我尝试使用复制项,但由于目标子文件夹不存在,抛出异常“找不到路径的一部分”</p>

有没有简单的方法来解决这个问题?

0 投票
3 回答
12231 浏览

从 PowerShell 使用 .NET 库

我有一个用于操作数据库的 PowerShell 管理单元。管理单元本身只是主库的包装器,主库在一个单独的.NET DLL 中实现,全部用 c# 编写。

我已经使用 installutil.exe 向 GAC 注册了管理单元和实现 DLL

虽然管理单元在 PowerShell 中运行良好,但我需要能够访问实现 DLL 的详细信息,以获取枚举等内容,以便将其作为参数传递给 cmdlet。

不幸的是,我无法访问 PowerShell 中类的内容,即使这些类被标记为公共并且我尝试访问的所有内容也被标记为公共。

我是否必须对实现 DLL 做一些特殊的事情才能使其在 PowerShell 中可见?

0 投票
2 回答
3168 浏览

密码所需的转义字符

该脚本非常适合接受一些读取主机提示并创建一个与应用程序池相关联的网站。密码提示有效,但我们最常用的密码是 !$Pass!123!! 它不允许我接收它作为输入。您如何允许使用这些字符?

0 投票
3 回答
36742 浏览

PowerShell 解析 xml 并保存更改

我正在解析一个用于 nuget 安装的 csproj 文件,并且我有一个需要更改的节点。有问题的节点是名为“Generator”的节点,它的值等于“TextTemplatingFileGenerator”,它的父节点具有“WebConfigSettingsGeneratorScript.tt”的属性(第二部分还没有在这里)。

这是我得到的脚本,但还没有完成。它正在工作,但它保存了一个空文件。此外,它没有我的 where 子句的第二部分,即

这是 XML 的基本版本:

非常感谢。我是个 PowerShell n00b!

0 投票
3 回答
4546 浏览

如何将一个 PowerShell 函数的“参数行”传递给另一个?

我正在尝试编写一些 PowerShell 函数来做一些事情,然后透明地调用现有的内置函数。我想原封不动地传递所有论点。我不想知道论点的任何细节。

我厌倦了使用'splat'来做到这一点,@args但这并没有像我预期的那样工作。

在下面的示例中,我编写了一个名为的玩具函数myls,它应该打印hello! 然后调用相同的内置函数 ,Get-ChildItem该内置别名ls调用的参数行的其余部分保持不变。到目前为止,我所拥有的效果很好:

的正确版本myls应该能够处理不带参数、带一个参数、带命名参数、从包含多个分号分隔的命令的行以及参数中的变量(包括包含空格的字符串变量)调用。基本上,它应该是ls.

下面的测试比较myls和内置ls

[注意:输出被省略和/或压缩以节省空间]

有没有办法可以重写myls以获得我想要的行为?

简短的回答:是的,这是可能的。坏消息:它需要知道参数细节的代码和关于一个希望调用的函数的其他元数据。好消息:不需要自己写这些。此元数据以编程方式可用,并且存在可用于自动生成骨架代理代码的模块(请参阅下面的@Jaykul 的答案)。我选择使用名为 "MetaProgramming" 的模块。导入后,生成一个插入式myls脚本非常简单:

New-ProxyCommand ls > .\myls.ps1

然后可以开始自定义新生成的myls.ps1脚本,如下所示:

瞧!这个新版本通过了所有测试。

0 投票
5 回答
99640 浏览

如何使用powershell从xml中获取属性值?

我有一个 XML 文件列表,我必须从中获取特定行之后的字符串。

在文件中,我需要查找标签Event并获取属性值DLLRoutine。例如,标签看起来像下面...

我只需要获得Dllroutine价值。如何使用 PowerShell 执行此操作?


15 30 50 per page
1
2 3 4 5
1498226