问题标签 [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 投票
0 回答
353 浏览

c# - 卸载 powershell cmdlet

我创建了我的自定义 powershell cmdlet。它注册和安装都很好,但是当我尝试卸载它时,我得到一个错误。我使用这个命令来卸载它:

错误:卸载正在开始。有关“.dll 路径”程序集的进度,请参阅日志文件的内容。该文件位于“安装程序日志路径”.InstallLog。卸载程序集“.dll 的路径”。受影响的参数有: logtoconsole = assemblypath = 'path to .dll' logfile = 'install log path'.InstallLog 卸载“我的安装程序名称”安装程序时发生异常。System.ArgumentException:无法删除子项树,因为子项不存在。卸载时发生异常。此异常将被忽略,卸载将继续。但是,卸载完成后应用程序可能不会完全卸载。

卸载已完成。卸载时发生异常。此异常将被忽略,卸载将继续。但是,卸载完成后应用程序可能不会完全卸载。

我看了看注册表。虽然我发现对我的 cmdlet 的引用很少,但删除它们并没有什么不同。

我目前通过手动删除 cmdlet 安装程序所在的路径来卸载。我不确定这是否可以并且将来不会导致问题。

你知道如何解决这个问题吗?

0 投票
0 回答
452 浏览

c# - 如何以提升的权限运行我的自定义 cmdlet?

我是powershell的初学者。我有一个我创建的自定义 cmdlet。此代码将在最后一行中断:

它给了我 Access to registry is not allowed 错误,除非我将上面的代码附在里面:

要访问 SPSecurity,我当然必须带上我的参考资料:Microsoft.Sharepoint。它确实有效,但我的 powershell 代码与 sharepoint 无关。我可以使用更通用的 powershell 安全 dll 来代替 SPSecurity(即使它有效)?我找不到一个。谢谢。

0 投票
2 回答
3374 浏览

c# - 从 C# 运行 Exchange Powershell 命令

我正在尝试在 C# 中运行 EMC 命令。我正在从我的个人电脑上运行它,该电脑上安装了交换管理工具。

我们的交换服务器上运行着 2007。

问题是,当我运行 Powershell 或 EMC 时,我需要以具有 Exchange Server 2007 权限的其他用户身份运行,因为我的个人配置文件没有这些权限。

话虽如此,这是我在个人 PC 上运行的代码:

我得到的错误是:

Microsoft.Exchange.Management.Powershell.Admin此计算机上未安装Windows PowerShell 管理单元。

当我尝试添加Microsoft.Exchange.Management.Powershell.AdminsnapIn 时,我得到了它。

我觉得这与我对个人资料的权限有关,但我并不完全确定。如果是真的,我该如何解决这个问题。


编辑

我说这听起来像权限的原因是因为我能够打开 powershell 并添加管理单元。但是,当我运行一个命令时,get-mailboxstatistics myUserId它会抛出一个错误MyServer\MyStorageGroup,说不存在。但是,当我 shift-rightCLick 并以其他用户身份运行并使用我的 Exchange 管理员帐户的凭据时,我可以运行这些命令。

0 投票
4 回答
10756 浏览

powershell - PowerShell 管理单元 Cmdlet CommandNotFoundException

目前我正在尝试创建我的第一个 PowerShell 管理单元。我遵循了本教程:如何创建 PowerShell 管理单元并且一切正常,直到我尝试调用我的自定义 cmdlet。此外,我添加了一个“构建后事件”来注册程序集。

之后我添加了 Snapin,它就像一个魅力:

System.Automation 参考的程序集路径:

作为我的目标平台,我选择了 x86,并且还在 x86 PowerShell 中执行所有内容。平台设置为“活动(任何 CPU)”

这是我的 cmdlet 代码:

这是我在尝试调用 Cmdlet 时遇到的错误:

我做错了什么,关于目标平台(x86)的设置是否有问题?

0 投票
1 回答
795 浏览

c# - System.Management.Automation.PSargumentException

从我的 C# 代码运行 PowerShell 脚本时遇到问题。该脚本包含来自 PowerShell 管理单元的函数VMWare.View.Broker。我通过以下方式做到这一点:

当我使用平台目标 x64 运行我的程序时,它工作正常。但是当我尝试使用 x86 执行我的程序时,我得到了以下异常(由于其他依赖项,我需要使用 x86 运行程序):

0 投票
2 回答
143 浏览

windows - 使用 BAT 文件检查 PSSnapin 是否已注册

我在这里碰到了一点砖墙。我编写了一个相当大的 PS 脚本,它需要 SQLServerProviderSnapin100,这一切都很顺利。

为了运行脚本,我编写了一个 BAT 文件供用户运行,这样他们就不必摆弄 execuptionpolicy,因此它设置为不受限制地调用脚本,一旦脚本完成,它将执行策略设置回受限制。

我遇到的问题是我需要 BAT 文件来检测用户是否将 SqlServerProvider100 管理单元注册到 32Bit Powershell 或 64Bit Powershell。

我知道我可以在 powershell 中运行这样的东西

但是我如何在 BAT 中做到这一点,或者我正在尝试做的事情是否可能?

我希望我对能够帮助我克服这个障碍的人有意义!:)

0 投票
1 回答
71 浏览

powershell - 如何为 powershell snapin 编写帮助文件

我开发了我的自定义 powershell 管理单元。我想为此写帮助。有人知道任何工具吗?

我已经尝试过来自 codeplex ( https://pscmdlethelpeditor.codeplex.com/releases/view/573966 ) 的 ps cmdlet 帮助编辑器,但这对我不起作用。该工具只能从模块(模块类)加载。当我尝试加载管理单元(模块类)时,它会引发以下错误“C annot bind argument to parameter 'name' 因为它是一个空字符串

如果有人知道任何其他工具,请告诉我

0 投票
1 回答
13798 浏览

windows - “没有为 powershell 4 注册任何管理单元”

Windows Server 2012 R2 Standard启用了ADFS. 我可以打开并使用ADFS Management控制台。我不确定ADFS服务器上安装了哪个版本。根据 Microsoft 博客Windows Server 2012 R2附带ADFS 2.0. 我不知道如何确认这一点。

现在我需要ADFS使用 powershell 管理单元将时钟倾斜 2 分钟ADFS。但是当我尝试给出“get-pssnapin -registered”时它没有列出ADFS服务器。

任何人都可以帮助我如何在 powershell 上执行以下命令:

以下是我得到的错误:

0 投票
1 回答
502 浏览

c# - Import Binary Modules in Powershell 3 with dll references located in different folder

I am converting a powershell snapin(which was working really fine) to a powershell module.

I have added the output dll to a folder with the same name as the dll and added the Module path to the $env:PSModulePath

The import seems to fail because the Snapin had some references to some other dll's(located in the bin\ folder)

I also don't want to copy all referenced dll's into the modules folder because they are already in the bin folder.

Is there a way to indicate the folder in which the referenced dll's are located in powershell? Maybe to indicate the folder like it is done for individual dll's:

[reflection.assembly]::loadfrom(full name of referenced dll)

0 投票
0 回答
42 浏览

powershell - 将远程 PowerShell 命令导入友好的命名模块

我已经成功地Import-PSSession用来创建 PowerShell 命令(模块、管理单元等)的代理。它似乎工作正常,但避免名称冲突的语法感觉不是很自然。

我有一个包含 cmdlet 的第 3 方 PowerShell 管理单元Do-Stuff。管理单元安装在本地,也安装在远程计算机AB.

是否可以以某种方式将这些 SnapIns 导入为(名字很好的)模块,以便我可以Do-Stuff在本地或 on Aor上调用B

我目前使用的前缀:

或者,允许破坏以避免不自然的(在我看来)cmdlet 重命名:

我想做的事: