草庐IT

powershell-cmdlet

全部标签

c# - PowerShell:将 block 作为参数传递给函数

我会用一个例子来解释我的问题。让我们在C#中编写以下代码:voidA(Actionblock){B(()=>{Console.WriteLine(2);block();});}voidB(Actionblock){Console.WriteLine(1);block();}voidMain(){A(()=>{Console.WriteLine(3);});}这段代码的输出是:123现在,我想在PowerShell中编写这段代码:functionA($block){B{2.$block}}functionB($block){1.$block}A{3}但是,这段代码会导致调用深度溢出:Th

c# - 如何从 Windows Powershell 构建运行 vNext 应用程序?

我正在尝试从WindowsPowerShell在.NETvNext中构建控制台应用程序。到目前为止,我已经通过升级了包kvmupgrade我从中获得了包版本“KRE-svr50-x86.1.0.0-alpha3-10070”,还检查了“别名”以符合版本。现在,我编写了一个包含以下几行的控制台应用程序:usingSystem;publicclassProgram{publicstaticvoidMain(){Console.WriteLine("WhySooserious!!!!");}}然后在project.json下方{"dependencies":{"System.Console"

c# - 如何在 PowerShell 中创建具有行为(方法)的真实对象?

可能这个问题以前有人回答过....但我还没有找到满足我需求的具体答案。顺便说一句,我正在使用PowerShell3嗯,我是PowerShell的新手,但作为C#开发人员我有很多经验,所以使用对象对我来说非常重要。所以我想知道是否有一种干净的方式在PowerShell脚本中应用OOP概念(当然不是全部,尽管那会很棒),因为例如,我想做一些具体的事情。注意:我知道我可以在PowerShell中编写C#代码来创建DTO,而且我可以在C#中创建PowerShell二进制模块,我过去曾这样做过,但我正在寻找的是现在能够在PowerShell中以面向对象的方式编写我的所有代码。我想做的事情:在Po

c# - 在 C# 中编写 PowerShell 模块时,如何存储模块状态?

我正在用C#编写一个连接到数据库的PowerShell模块。该模块有一个Get-MyDatabaseRecordcmdlet,可用于查询数据库。如果您在变量$MyCredentials中有一个PSCredential对象,您可以像这样调用cmdlet:PSC:\>Get-MyDatabaseRecord-Credential$MyCredentials-Id3MyRecordId:3MyRecordValue:test_value问题是,每次调用Get-MyDatabaseRecord时都必须指定Credential参数,这既乏味又低效。如果您可以只调用一个cmdlet连接到数据库,然

c# - 在自定义 C# PowerShell Cmdlet 中确定是否指定了 -Verbose

我有一个自定义C#PowerShellCmdlet(继承自Cmdlet基类),我希望能够确定在运行Cmdlet时是否指定了“-Verbose”参数。我意识到WriteVerbose将在指定-Verbose参数时输出,但我想在指定-Verbose时实际执行一些其他代码(即在指定-Verbose时不输出Console.Write值)。谢谢,约翰 最佳答案 像这样检查cmdlet的绑定(bind)参数:if(this.MyInvocation.BoundParameters.ContainsKey("Verbose")){}

c# - 如何在 Powershell 中模拟 Active Directory 用户?

我正在尝试通过Web界面(ASP.NET/C#)运行powershell命令,以便在Exchange2007上创建邮箱等。当我使用VisualStudio(Cassini)运行页面时,页面会正确加载.但是,当我在IIS(v5.1)上运行它时,出现错误“未知用户名或错误密码”。我注意到的最大问题是Powershell是作为ASPNET而不是我的ActiveDirectory帐户登录的。如何强制使用另一个ActiveDirectory帐户对我的Powershellsession进行身份验证?基本上,到目前为止我的脚本看起来是这样的:RunspaceConfigurationrc=Runsp

c# - 在 C# 或 PowerShell 中是否有一种相对直接的方法来完成 CD 或 DVD?

首先,对术语进行一些澄清。完成,我并不是说结束session;我的意思是在CD或DVD上以这样一种方式写入导出,即无法再通过通常的方式(Roxio、Nero、WindowsExplorer等)向其中添加信息我对此进行了大量研究。有一些开源程序,例如InfraRecorder我们可以从中得到一些启发,但它们似乎都涉及使用IMAPI的相当复杂的C++代码,这似乎是一种非常低级的做事方式。我们团队中的开发人员都没有C++或IMAPI专业知识来支持这样的代码库。互联网上最有前途的资源似乎是thisone,但它似乎不包含最终确定功能。这是“写入图像”的代码:publicvoidWriteImag

c# - 在 Pipeline.Invoke 抛出后在 C# 中捕获 Powershell 输出

我正在从C#应用程序运行Powershell测试脚本。由于错误的cmdlet导致pipe.Invoke()引发异常,脚本可能会失败。我能够捕获我需要的有关异常的所有信息,但我希望能够显示脚本到那时为止的输出。我没有任何运气,因为在抛出异常时结果似乎为空。有什么我想念的吗?谢谢!m_Runspace=RunspaceFactory.CreateRunspace();m_Runspace.Open();Pipelinepipe=m_Runspace.CreatePipeline();pipe.Commands.AddScript(File.ReadAllText(ScriptFile));

c# - 将 Keith Hill 的 PowerShell Get-Clipboard 和 Set-Clipboard 转换为 PSM1 脚本

我想将KeithHill的Get-Clipboard和Set-Clipboard的C#实现转换为纯PowerShell作为.PSM1文件。有没有办法像他在使用剪贴板时在Cmdlet中所做的那样在PowerShell中启动STA线程?TheBlogPostTheCode 最佳答案 TextBox不需要-STA开关。functionGet-ClipBoard{Add-Type-AssemblyNameSystem.Windows.Forms$tb=New-ObjectSystem.Windows.Forms.TextBox$tb.Mul

c# - 何时使用 Powershell 与 C# 进行开发?

我刚刚开始使用PowerShell,我的一位系统管理员告诉我,Powershell在系统管理方面的功能与C#一样多,甚至更多。请原谅这个问题的无知,但我什么时候会在C#上使用Powershell? 最佳答案 1)PowerShell适用于定义明确的相对较小的任务,尤其是当您直接在命令行中编写代码时的短暂的一日任务和交互式任务。如果一项任务只需要几行PowerShell代码(您知道这一点是因为您对PowerShell足够了解!),那么启动一个完整的C#项目通常是多余的。2)C#更适合大型项目或性能至关重要的项目。对于可能需要调试和故障