问题标签 [pssnapin]

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 投票
6 回答
10398 浏览

powershell - 如何创建一个cmdlet?

我已经用 c# .net 编写了我的程序。我想将其转换为 powershell cmdlet。我被指示使用 pssnapin 和 getproc 程序。任何人都可以帮助我..

问候阿伦

0 投票
3 回答
412 浏览

powershell - PowerShell - 分布式解决方案

我是 PS 新手,所以我可能会弄错一些术语。

如果您想为 30 名开发人员/DBA 的团队推出自定义 PowerShell 环境(管理单元)。最好的方法是什么……如果您打算每周推出一次新功能?PowerShell 2.0 在这方面有帮助吗?

假设:
安装 PowerShell(v1 或 v2)的团队中的每个人都没有问题

更新:另请参阅下面关于 v2 的 Jeffrey Snover 的回答。

0 投票
7 回答
8914 浏览

c# - C# Powershell 管理单元未使用 installutil 注册

我有一个非常简单的 powershell 脚本(见下文)。我在我的个人资料中使用以下内容获得了 installutil 别名:

在powershell中,我只是:

这成功返回。(安装/提交都成功完成)。然而,当我检查注册表或在 powershell 中使用 get-pssnapin -registered 时,它不会显示我的程序集。前几天我做了这个,效果很好,但我似乎无法复制它......请指教。

}

0 投票
1 回答
311 浏览

c# - 存储 c# 应用程序使用的 powershell 管理单元名称以供以后使用的最佳方法

我有执行规则的 ac# 应用程序,具体取决于输入。一些规则需要执行一个 poweshell 脚本。我假设某些脚本(可能是用户编写的)需要一个可用的管理单元才能正确执行。

我知道我可以通过做这样的事情来添加管理单元。

RunspaceConfiguration 配置 = RunspaceConfiguration.Create(); PSSnapInException 警告;config.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out warning); if (warning != null) { ... 抛出警告;}

我还知道管理单元元数据可以存储在 powershell .psc1 控制台文件中,如果它已由用户设置。我可以加载这个。但是,如果用户没有控制台文件,并且只想使用来自 IIS、Exchange 或自定义管理单元的单个管理单元,该怎么办。

存储定义的最佳方式是什么。我可以将它存储在 app.config 中吗?假设脚本需要“WebAdministration”,即 IIS 7 管理单元名称。我可以将其存储在 app.config 中的密钥中吗?如上所述,我会阅读并加载它。

有什么我在这里想念的吗。任何帮助,将不胜感激。谢谢。鲍勃。

0 投票
2 回答
726 浏览

c# - 从 PowerShell 管理单元引用外部程序集

我正在开发一个自定义 PowerShell 管理单元,它引用了解决方案中的另一个项目。
当我尝试调试管理单元时(按照 [这些说明][1]),程序集无法加载,并且我的 cmdlet 失败并显示消息“无法加载文件或程序集...”

您如何指导 PowerShell 如何定位程序集,或者如何指定管理单元所需的程序集的位置?

我宁愿避免在 GAC 中注册程序集,至少在开发期间是这样。

0 投票
1 回答
286 浏览

windows - 尝试在 Win 64 位上编译 VS2008 项目,这是自定义 Powershell PSSnapin

对于在 Win 7 64 位上运行的 VS2008 中的任何 CPU,库项目都可以正常编译。

现在,在尝试注册库 dll 时,以下命令在后期构建中失败:

PS C:\Windows\Microsoft.NET\Framework64\v2.0.50727> .\installutil C:\path\Project.dll

初始化安装时发生异常:

System.BadImageFormatException:无法加载文件或程序集“file:///C:\path\Project.dll”或其依赖项之一。试图加载格式不正确的程序..

我是否需要将项目编译为 x64 我的印象是 AnyCPU 会处理它。

Alo 我的图书馆确实有依赖关系。它们是否也需要编译为 x64 位?

任何帮助表示赞赏。

0 投票
1 回答
556 浏览

c# - 自定义 PowerShell 管理单元:自定义格式不起作用

我使用这篇文章编写了我的第一个自己的 Powershell Cmdlet 和 Snapin。它工作正常。

但是我从我自己的数据类中返回了一组对象,它有四个属性,我希望 Powershell 默认只显示其中一个属性。所以我使用文章的这一部分来创建这个格式文件:

并将其链接到 Snapin:

但是当我使用 installutil 安装 Snapin、使用 Add-PSSnapin 并调用我的 Cmdlet 时,会显示对象的所有属性。

我究竟做错了什么?

0 投票
2 回答
514 浏览

powershell - PowerShell 管理单元之间的 Cmdlet 争用

我在使用适用于 PowerShell 的 Vmware PowerCLI 和 System Center Virtual Machine Manager 管理单元时遇到了问题。它们都包含名称相似的 cmdlet,例如“Get-VM”和“Get-VMHost”。似乎最后一个加载的管理单元胜出,所以我在脚本中添加了逻辑以在需要获取 VMware 数据或 Hyper-V 数据时加载和卸载管理单元。我想知道是否有任何方法可以防止这种争用,或者以其他方式为一个 cmdlet 创建一些独特的句柄,同时仍然允许另一个按预期加载和操作?

0 投票
1 回答
133 浏览

powershell - 每次加载管理单元时如何运行初始化代码?

我有一个 PowerShell 管理单元,我想在每次加载管理单元时运行一些初始化代码(挂钩一些 AppDomain 事件)(即每个启动的 powershell.exe 进程一次)。如何实现?

0 投票
1 回答
83 浏览

powershell - 控制 cmdlet 定义的属性

我正在创建许多 Powershell cmdlet,并注意到在我安装我的管理单元并执行以下命令后,参数数据类型被列为单个而不是编程的类型(在我的情况下为浮点)。

有谁知道我在哪里控制这些值,因为它不会自动选择正确的类型?

谢谢