问题标签 [cmdlets]

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

sharepoint - 使用 Powershell 自动创建 Sharepoint 任务

我的组织正在尝试新的流程来协调开发人员,因为他们将他们的代码集成到我们的主分支中。现在它只是 Sharepoint 中的一个基本任务列表,但它似乎做得很好。但是,在创建这些任务单时有很多繁琐的手工劳动,我们正在寻求改进。为此,我有两个问题。

1) 我查看了 Sharepoint 的 Powershell cmdlet 列表,但如果不是 Sharepoint 向导,我看不到任何明显的自动化任务创建。可以这样做,还是 cmdlet 更多地用于管理(配置)目的而不是用于使用?

2)这是对sharepoint的可怕滥用吗?最终,我们只是尝试为要注册的任务创建一个集中位置,其中包含一些关于任务详细信息、任务所有者和完成状态的基本信息。如果有一些明显更好的方法可以做到这一点,我会全力以赴,因为无论我们做什么,我们都可能在重新发明一些轮子。

0 投票
1 回答
3075 浏览

cmd - 如何在批处理文件中使用 Exchange 2010 cmdlet

我可以直接在 Exchange 命令行管理程序中正确运行 Get-ActiveSyncDeviceAccessRule。(参考:http ://technet.microsoft.com/en-us/library/dd776124.aspx )

然后我写了一个批处理文件,如下所示,但我得到了CommandNotFoundException. 我想知道如何将此 cmdlet 与 cmd.exe 一起使用?谁能帮助我?谢谢你。

(编者注:接下来的三行是为了格式化而换行的。原来是 1 行)

我得到standardError.txt如下错误:

0 投票
1 回答
12261 浏览

c# - 编写 PowerShell Cmdlet 时如何处理路径?

编写 C# cmdlet 时接收文件作为参数的正确方法是什么?到目前为止,我只有一个属性 LiteralPath(与它们的参数命名约定一致),它是一个字符串。这是一个问题,因为您只需要在控制台中输入任何内容;这可能是完整路径,也可能是相对路径。

使用 Path.GetFullPath(string) 不起作用。它认为我目前在〜,我不是。如果我将属性从字符串更改为 FileInfo,也会出现同样的问题。

编辑:对于任何感兴趣的人,这个解决方法对我有用:

LiteralPath 是字符串参数。我仍然有兴趣了解处理作为参数传递的文件路径的推荐方法。

EDIT2:这更好,这样您就不会弄乱用户当前目录,您应该将其设置回来。

0 投票
2 回答
33394 浏览

windows - 使用 Powershell 的 Invoke-Command 调用带有参数的批处理文件

我想使用 Powershell 来调用远程机器上的批处理文件。这个批处理文件有参数。这是我到目前为止所拥有的:

经过一番搜索,我发现 Invoke-Command 函数在一个全新的进程中运行其脚本块,因此您不能将变量放入其中(它们不会被扩展)。这就是 -ArgumentList 标签的用途。所以我尝试了这个...

那也不起作用......我的批处理脚本告诉我它没有被传递任何参数。我找不到任何明确说明的内容,但看起来 -ArgumentList 参数仅适用于 Powershell 脚本(它不会将它们提供给批处理脚本)。

有什么想法可以使用 Invoke-Command 调用带有参数的批处理文件吗?

0 投票
1 回答
1837 浏览

asp.net - 如何在 ASP.NET 站点中引用 PowerShell 模块

我试图弄清楚如何从 ASP.NET 网站(使用 vb.NET)中使用 Microsoft Online Services Migration Toolkit PowerShell 命令。

我已经开始使用如何在 ASP.NET 中使用 PowerShell 的指南 - 从这里开始: http: //devinfra-us.blogspot.com/2011/02/using-powershell-20-from-aspnet-part-1 .html

我正在尝试研究如何实现 Online Services Migration Toolkit PowerShell cmdlet。

这是我的代码隐藏片段:

当我尝试通过页面运行代码时,出现以下错误

术语“Get-MSOnlineUser -Enabled”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

所以我猜我还没有弄清楚如何导入在线服务迁移工具包 PowerShell CmdLets。我也不确定这条线是否:

完全正确。有没有办法可以验证模块名称?

我也不确定在哪里以及如何引用 .dll 文件。目前我已将它们复制到我的 bin 文件夹中,但我无法将它们添加为引用,那么 ImportPSModule 语句如何知道在哪里可以找到它们?特别是当网站发布到最终生产服务器时。

另一个问题,我应该使用 x86 还是 x64 cmdlet?我在 Win7 x64 上开发,但不确定网站是构建为 x86 还是 x64?我需要找出服务器是什么架构吗?

0 投票
1 回答
2176 浏览

c# - 从 C# 调用 Lync server 2010 Powershell cmdlet

我不得不问我们是否需要跑步

pipeline.Commands.AddScript(@"Import-Module 'C:\Program Files\Common Files\Microsoft Lync Server 2010\Modules\Lync\Lync.psd1'");

每次我们运行 Lync Powershell Cmdlet 或者在初始化 Runspace 时有什么方法可以做到吗?正如我们在 Exchange 服务器案例中所做的那样,例如

RunspaceConfiguration.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", out warning);

还有我们需要在 C# 项目中为 Lync Server Powershell cmdlet 添加哪些程序集引用(除了 System.Management.Automation.Runspaces)

提前致谢。

0 投票
1 回答
1170 浏览

c# - 将参数集添加到我的自定义 C# cmdlet,没有强制参数

我开发了一个自定义 c# cmdlet。它有三个参数(都是字符串),没有一个是强制性的。其中两个属于parameterset1,第三个属于parameterset2。它工作正常,当用户从两个参数集中提供参数时,它会给出它们不属于同一参数集的消息。但是我遇到了两个问题:

  1. 当用户不提供任何参数(因为它们都不是强制性的)时,它会抛出错误 Parameter set cannot be resolve using the specified named parameter
  2. 当用户给出第一个参数并键入 - 然后点击选项卡时,应该只显示第二个参数,因为第一个和第二个在相同的参数集中,但它显示的是第二个和第三个,这是不正确的。同样,即使用户首先输入第三个参数,它也会显示第一个和第二个。

这是我如何定义参数的代码:

谁能告诉我我错过了什么?是否应该向参数添加更多属性?

0 投票
1 回答
618 浏览

.net - 使用自定义 cmdlet 托管受限 Powershell

我在我的应用程序中托管 powershell 并设置了一个受限的运行空间池,它基本上是空的(据我所知)。

显然,当我运行这段代码时......

它失败是因为没有可用的“Import-Module”cmdlet。所以,我的问题是如何在没有“Import-Module”cmdlet 可用的情况下导入模块?

这是我收到的错误消息...

术语“Import-Module”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

0 投票
1 回答
4318 浏览

powershell - 获取某个日期范围内的用户邮箱大小

这是 Exchange 2007。

如果我们在特定日期范围内导出用户邮箱,我们正在尝试确定将使用多少磁盘空间。

我可以使用 Export-Mailbox cmdlet 导出日期范围内的内容(开始日期和结束日期开关),但 Get-Mailboxstatistics cmdlet 不存在这些开关。

理想情况下,命令应该是这样的(显然这是伪代码):

但是,同样,由于 Get-Mailboxstatistics cmdlet 不存在这些开关,我不知道如何解决这个问题。

这甚至可能吗?

0 投票
2 回答
1078 浏览

c# - 从其 ArgumentTransformationAttribute 将数据传递给 PSCmdlet

通常,我正在尝试创建一个PSCmdlet采用实现IDisposeable并需要处置的类型的参数以避免泄漏资源的参数。我还想接受string该参数的 a 并创建该类型的实例,但是如果我自己创建该对象,那么我需要在从ProcessRecord.

我正在使用ArgumentTransformationAttribute我的参数来从字符串构造我的IDisposeable对象,但我找不到任何方法将数据从该类传递给我PSCmdlet是否创建了对象。例如:

我在这里最好的猜测是子类化我MyDisposeableClass只是为了标记它需要显式处理,但这似乎相当hacky,虽然它在这种情况下有效,但如果我想处理一个密封的类,它显然是行不通的。

有一个更好的方法吗?