问题标签 [cmdlet]

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 回答
204 浏览

exchange-server - 获取组织内所有交换服务器的名称?

我使用的是 Exchange Server 2013,组织中有六台 Exchange Server。我想使用交换管理外壳 (cmdlet) 显示组织中所有六台交换服务器的名称。我正在使用 get-exchangeServer cmdlet ,但它只显示我正在使用的一个交换服务器的名称。所以,请告诉我帮助我显示组织中所有交换服务器名称的 cmdlet 脚本

0 投票
1 回答
299 浏览

powershell - 如何使用从 cmdlet 生成的 Windows 工作流活动?

我使用 PowerShell 3.0 从 cmdlet 生成了 WWF 活动。

创建 activity1.xaml 后,放入“Connect-Host”活动并编写启动代码:

但我收到异常消息:“'Microsoft.PowerShell.Workflow.ActivityHostProcess' 的类型初始化程序引发了异常。” “找不到路径 'C:\Windows\system32\windowspowershell\v1.0\modules\psworkflow\PSWorkflow.types.ps1xml' 的一部分。”

但是这个文件存在于我的系统中。

我如何使用这项技术?

0 投票
1 回答
912 浏览

powershell - 在 word finder 上打印整行 Powershell

基本上我创建了一个快速应用程序来查找搜索的单词并检查文件中的实例,有人知道如何编辑它以将找到该单词的整行发送到 Ouput.txt 文件,所以而不是在实例之上添加整行本身?提前致谢

0 投票
1 回答
429 浏览

powershell - 编写自定义 Powershell Cmdlet 以接受数据表

我需要在 C# 中编写一个自定义的 powershell cmdlet,它可以接受数据并能够枚举它。我在网上遵循了一些示例并有一些工作代码。

我遇到的问题可以证明如下:

  1. 我想要一个自定义 powershell cmdlet 将另一个命令的输出作为参数的输入,例如 Get-Process
  2. 我希望我的自定义 cmdlet 接受表格格式的数据
  3. 枚举数据

我遇到的问题是我不确定如何设置参数以获取数据表不确定如何以表格形式从我的 cmdlet 输出数据。

任何人都可以提供任何例子吗?

0 投票
1 回答
176 浏览

powershell - PowerShell cmdlet 开发 - 如何避免保留输出对象的句柄

Microsoft 的 Cmdlet 开发“必需的开发指南”在此处声明 Cmdlet 不应保留输出对象的句柄。

然而,当开发一个对管道输入执行副作用的 cmdlet 时,它可能会或可能不会修改输入对象的状态,可以通过 WriteObject 方法将输入对象通过管道传输到输出管道,以促进进一步的命令链接。由于管道输入参数是一个输入对象类型的数组,它仍然会保留对该对象的引用。

这种行为会破坏开发合同并导致问题吗?

0 投票
2 回答
2004 浏览

c# - 如何在 C# 中为 cmdlet 添加概要/摘要?

假设您正在用 C#编写一些PSCmdLet :

如果将上述定义的模块加载到 PowerShell 中,该命令help Join-StackOverflow将返回以下内容:

如何为此 cmdlet 添加概要/摘要,例如与以下内容相同Get-Process

0 投票
1 回答
900 浏览

c# - 支持 Whatif 和 Confirm 响应

这里有很多关于 SO 和其他地方的问题,解释了如何在-Confirm整个 cmdlet 中传播到嵌套的 cmdlet 等。但是,我没有找到的是如何传播对该提示的响应。也就是说,一旦用户回答了这个提示......

...人们会合理地假设我的 cmdlet 现在可以根据用户对该提示的响应采取行动。这在一定程度上肯定是正确的:两者Suspend [S]都是Help [?]本地化操作,并且工作正常。

但我的主要问题是识别和采取行动Yes to Alland No to All。在 C# ( via Cmdlet.ShouldProcess()) 和 PowerShell ( via $PSCmdlet.ShouldProcess()) 中,只能得到一个布尔结果,我只能从中推测:

  • true是 [Y] 或 [A]。
  • false是 [N] 或 [L]。

我最初曾希望,虽然没有这样说,ShouldContinue但会利用内部 cmdlet 状态来进行这种区分,但对脚本化 cmdlet 的实验表明情况并非如此。

事实上,到目前为止,我发现的唯一可能的解决方法是Jeffrey Snover 的早期版本(大约 2007 年!)PowerShell 的 Should-Process 函数,大概在“官方”之前Cmdlet.ShouldProcess并被$PSCmdlet.ShouldProcess引入。

我很难相信 PowerShell 团队忘记允许区分 Yes/Yes to All 和 No/No to All;相反,我认为我只是在忽略它。

所以我的简短问题是:对于编译的 cmdlet 和脚本化的 cmdlet,我如何区分YesfromYes to AllNofrom No to All

0 投票
1 回答
92 浏览

c# - 在 c# 类中使用 cmdlet 的输出

有没有办法将 cmdlet 的输出消耗到 c# 代码中?

我在网上搜索过,我主要找到了有助于编写 cmdlet 的主题,但反之亦然。

0 投票
1 回答
16208 浏览

http - 使用正确名称的 Powershell 从 http 下载多个文件

我已经搜索过类似的东西,并且一直在浏览 FTP 下载答案。这是有用的信息,但最终证明难以翻译。我找到了一个 powershell 脚本并且它可以工作,但我想知道它是否可以根据我的需要进行调整。我对PowerShell脚本没有太多经验,但我正在努力学习。

需求是这样的。我需要在无人看管的情况下将一系列文件下载并安装到远程机器上。这些文件通过 tinyurls 通过电子邮件分发。我目前将它们放入 .txt 文件中,然后让 powershell 脚本读取列表并下载每个文件。

项目的要求以及我转向 powershell(而不是其他实用程序)的原因是这些都是非常专业的机器。唯一可用的工具是嵌入 Windows 7 的工具。

我遇到的困难是:文件一次下载一个。我想在 Web 服务器允许的同时获取尽可能多的下载。(通常为 6 个)

当前脚本基于 tinyurl 创建文件名。我需要来自网络服务器的实际文件名。

在此先感谢您的任何建议。

下面是我目前正在使用的脚本。

0 投票
2 回答
8063 浏览

powershell - PowerShell 启动睡眠 cmdlet

嘿,我对 PowerShell 很陌生,并在他的博客上找到了 Ed Wilson 的有用脚本之一:http: //blogs.technet.com/b/heyscriptingguy/archive/2012/11/12/force-a-domain-wide-update -of-group-policy-with-powershell.aspx

我需要根据自己的需要对其进行一些定制,并且只需要一些帮助来获取正确的代码。

我将只使用他的代码,因为我所做的只是用我的凭据和 AD 信息替换它:

我添加的是接下来的两行尝试暂停脚本以允许 gpupdate 处理然后重新启动计算机:

当我一起运行脚本时,它似乎只是在我输入凭据后挂起。我的猜测是它不喜欢我呈现 Start-Sleep cmdlet 的方式,因为我可以在没有 Start-Sleep 的情况下成功运行 Restart-Computer cmdlet。问题是它不会等待 gpupdate 完成,因此不会推送策略。运行脚本时我没有收到任何错误,它只是挂起。我让它运行了大约 10 分钟,但没有成功。

我感谢任何帮助或建议以使此脚本正常工作。提前感谢您的任何意见。