从C#中获得写作进度-百分比完成的状态
基本上,我的目标是在我的C#实例中捕获PowerShell脚本的进度.我发现此答案是相关的,但它不起作用(输出控制台中什么都没有).这是我使用接受答案中的建议的实施. test.ps1 Write-Progress -Activity "Finding user" -CurrentOperation "TEST1" -PercentComplete 1 #Some task Write-Progress -Activity "Finding user" -CurrentOperation "TEST2" -PercentComplete 2 #Some other task Write-Progress -Activity "Finding user" -CurrentOperation "TEST3" -PercentComplete 3 #Some other task ... test.cs //creating PS instance PowerShell
0 2024-04-26
编程技术问答社区
应用新的Azure AD策略后不显示索赔要求
我想为我的Azure AD(ADAL)连接的C#Web应用程序添加其他索赔. 我已经尝试在PowerShell中添加新策略(per https://learn.microsoft.com/en-us/azure/active-directory/develoctory/develop/active/active-directory-directory-clairs-clairs-clairs-clairs-mapping#claims-m-claims-m-sapping#claims-m-sapping#claims-m-sapping#claims-m-spapp-映射 - 政策分配)并重新启动应用程序.相同的索赔显示(不再,不少). 是否可以添加管理器字段.我没有在此列表中看到它( https://learn.microsoft.com/mt-mt/azure/active-directory/develop/active/active-directory-clairs
14 2024-04-26
编程技术问答社区
在c#中创建Exchange邮箱
我想使用C#在Exchange Server 2013中创建邮箱. 我尝试了很多代码,但是每个代码都有一个错误,没有明显的解决方案可以解决它. 我的代码是 public static Boolean CreateUser(string FirstName, string LastName, string Alias,string PassWord, string DomainName, string OrganizationalUnit) { string Name = FirstName + " " + LastName; string PrincipalName = FirstName + "." + LastName + "@" + DomainName; Boolean success = false; string consolePath = @"C:\Program Files\Mic
0 2024-04-26
编程技术问答社区
确保一个程序集通过指定的程序集被调用
是否有内置功能来确定是否从特定的组件调用一个组件? i有汇编A参考组件B.汇编A暴露了powershell cmdlet,并输出B中发现的类型. B暴露的类型中的某些方法和属性对汇编A中的类型感兴趣,但对PowerShell的消费者或试图直接加载B中的任何人都不感兴趣并在其中调用方法. 我已经研究了InternalsVisibleToAttribute,但是由于使用接口,它需要大量的返工.我正在设计一个共享的关键系统,该系统后来被混淆了,但这似乎很笨拙. 有什么方法可以确保B仅由A? 调用 解决方案 您将在组件上使用强名称密钥来执行此操作. 首先确保呼叫汇编(汇编A)是强名称(可以在"签名"选项卡下的"项目属性"屏幕中完成) ) 以下代码将从调用汇编中检索强名称密钥. internal static StrongName GetStrongName(Evidence evidence) { foreach (var e in evidenc
8 2024-04-26
编程技术问答社区
C#-通过Powershell运行空间删除Exchange电子邮件地址
per Set-Mailbox "GenMgr" -EmailAddresses @{remove="GenMgr@domain.com"} 但是,通过远程runspace调用下面的pscommand对象抛出一个system.management.automation.remoteexception错误. command.AddCommand("Set-Mailbox"); command.AddParameter("Identity", "GenMgr"); command.AddParameter("EmailAddresses", "@{remove='GenMgr@domain.com'}"); powershell.Commands = command; powershell.Invoke(); System.Management.Automation.Remoteexception:无法处理参数" emailAddresses"的参数转换.无法将值转换为"@{
0 2024-04-26
编程技术问答社区
Powershell无法在VS 2013软件包管理器控制台中找到其dll或依赖关系
我正在使用VS Express 2013 .NET 4.5.我在MVC5和EF6中使用MS SQLSERVER LOCALDB在Oracle VirtualBox Windows 7 64bit Client中设计. 我试图使用命令应用SQL Server LocalDB迁移: pm>启用移民-ContextTypename SGHWA_MVC.Models.Context 这总是失败. 我有限的网络知识是Web表单,因此我是MVC和EF的新手.我也从未使用过PMC和PowerShell.我已经搜索了解决方案,但没有找到与包装管理器生成的此错误相似的问题. 首先有警告: - 无法确定有效的启动项目.而是使用项目" SGHWA_MVC".您的配置文件和工作目录可能无法按预期设置.使用-startupprojectName参数明确设置一个.使用-verbose Switch以获取更多信息. PCM下拉框正确显示默认项目为SGHWA_MVC.解决方案属
0 2024-04-26
编程技术问答社区
当从Visual Studio / Code运行时,PowerShell没有加载所有的PSModulePaths
您可以从我在这里我的答案a>,由于某种原因,当我在Visual Studio中从代码运行PowerShell时,要么通过调用 powershell.invoke ,或通过启动新的powerShell进程,它不包括所有 psmodulepaths 当我手动启动Windows PowerShell命令提示时,其中包括在内. 如果我在常规的Windows PowerShell命令提示中进行(Get-Item Env:\PSModulePath).Value -Split ';'我会得到以下7个路径: C:\Users\Dan Schroeder\Documents\WindowsPowerShell\Modules\ C:\Program Files (x86)\PowerShell Community Extensions\Pscx3\ C:\Program Files\WindowsPowerShell\Modules C:\WINDOWS\system32\WindowsPo
0 2024-04-26
编程技术问答社区
如何在管道中添加更复杂的Powershell命令
我似乎无法运行这样的命令... pshell.AddCommand("(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection(" + strShare + ")"); ...没有遇到错误,说它找不到模块.期望我使用 之类的东西 pshell.AddCommand("New-Object"); pshell.AddArgument("-ComObject"); pshell.Invoke(); 如何将这种格式与这样的命令使用? 解决方案 尝试 PowerShell shell = PowerShell.Create().AddScript(String.Format("(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection(\"{0}\")",strShare ));
0 2024-04-26
编程技术问答社区
在windows 2008 / 2012上使用C#实现桌面体验
我目前正在使用命令: servermanagercmd -install Desktop-Experience 根据我阅读的内容,我了解到这是Windows 2012中不再支持的. 我知道可以从Powershell CMDLET中完成,但找不到一个示例 需要. 解决方案 我认为您要寻找的PS脚本是: Add-WindowsFeature Desktop-Experience 其他解决方案 我认为Add-WindowsFeature命令不会在2008年工作.DIMS是所有涉及的所有版本的最佳路线. Dism /online /Enable-Feature /FeatureName:DesktopExperience /All
2 2024-04-26
编程技术问答社区
PowerShell操作XML文件的问题
假设我有以下XML文件,我想使用PowerShell(1.0版)操纵XML文件以获取foo的值(在此示例中,我想要获得的值是" foo value")和goo (在此示例中,我要获得的价值是"粘量值"),任何想法如何实施? $FooConfig = [xml](get-content .\Foo.exe.config -ErrorAction:stop) 预先感谢 乔治 解决方案 在PowerShell下,XPath API非常活跃(毕竟您的XML是Just .Net对象),并且如果您只想要一个值,通常最容易使用: $appSettingsSection = $fooConfig
12 2024-04-26
编程技术问答社区
在Powershell中读取压缩文件内的文件名而不解压它
我有一个.zip文件file.zip.这个zip文件中有很多文件,只有一个带有扩展名.txt的文本文件.我想阅读此文本文件的名称.有什么方法可以读取名称而不在PowerShell或C#? 中提取zip文件 解决方案 您可以使用 Shell.Application 从zip文件列出文件名的对象: $zip = 'C:\path\to\file.zip' $app = New-Object -COM 'Shell.Application' $app.NameSpace($zip).Items() | ? { $_.Name -like '*.txt' } | select -Expand Name 其他解决方案 如果您有.NET 4.5 ,则可以运行类似的东西 [Reflection.Assembly]::LoadWithPartialName( "System.IO.Compression.FileSystem" ); $zipContens = [System.I
2 2024-04-26
编程技术问答社区
返回证书列表的选择 azure VPN
我有Azure VPN并安装了证书.我的同事已经安装了同样的东西,但他不能选择证书.他没有这个领域.可以更改VPN中的某些内容以获取证书列表吗? 安装这样的证书(复选框) 时,这在工作 解决方案 请看一下此简而言之: 如果证书中缺少客户端证书 - 当前用户\个人\证书. 我相信您已经在成功连接的第一台PC上安装了证书.不过,如果需要的话,您可以产生和导出证书如下: https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-certificates-certificates-point-point-point-point-point-to-site
6 2024-04-26
编程技术问答社区
如何在没有SDK的情况下运行PowerShell脚本文件?
我有一个PowerShell脚本(PS文件),我想从客户端计算机上的C#WPF应用程序运行.我发现的大多数示例都使用PowerShell SDK,但是我无法在客户端计算机上安装. 如果我尝试简单地运行脚本. Process.Start("Powershell.exe", "myscript.ps"); 我在命令窗口中获取以下错误: File myscript.ps cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 + myscript.ps + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 2024-04-26
编程技术问答社区
在C#中调用一个Powershell脚本,结果返回0
我正在创建一个Windows服务,每分钟都会调用PowerShell脚本. PowerShell脚本返回本地系统信息. function MachineInformation { [hashtable]$machine = @{} $computerSystem = get-wmiobject Win32_ComputerSystem $machine.machine = $computerSystem.Name $machine.key = $computerSystem.Manufacturer [String]$machine.value = Get-WmiObject win32_processor | Measure-Object -property LoadPercentage -Average | Select Average [DateTime]$machine.time
6 2024-04-26
编程技术问答社区
使用特定密钥的AES解密不起作用
我有一个PowerShell脚本(下图),该脚本使用特定键(作为字符串)成功加密并解密字符串值. 现在,我正在尝试编写一个可以使用相同键解密值的C#方法,但是我不确定如何正确使用密码器. 另外,我正在尝试为Aesmanative对象指定模式和填充以匹配PowerShell脚本(我知道CBC模式最安全,但是如果其他事情更好地工作,我会更改它). 任何帮助或指示都将高度赞赏. 测试代码(.NET框架4.7): // Note: values are hardcoded based on the results from the PowerShell script var keyString = "8CBaNtMYwAuu2K/xleoRfgPkURaLK82QidlIyg+nFY4="; var keyBytes = Convert.FromBase64String(keyString.PadLeft(32)); // Not so sure about thi
14 2024-04-26
编程技术问答社区
IsolationLevel设置为Serializable的TransactionScope正在锁定所有SQL SELECTs
我正在使用PowerShell交易;这创建了一种隔离的序列化序列化.问题在于,当我在此上下文中执行交易时,所有选择都会阻止受交易影响的表,除了执行交易的一个连接外,所有选择.我可以从交易中进行执行,而不是其他任何地方.这包括SSM和其他CMDLET执行.这是预期的行为吗?好像我缺少一些东西... ps脚本: Start-Transaction Add-Something -UseTransaction Get-Something #hangs here until timeout Add-Something -UseTransaction Undo-Transaction 解决方案 可序列化的交易将阻止在此隔离下扫描的范围上的任何更新.序列化隔离水平本身不会阻止读取.如果您发现读取被阻止,则必须在玩游戏,这取决于您在这些脚本中所做的事情. 其他解决方案 听起来好像您的数据库具有允许_snapshot_isolation = off.此设置控制数据库使用的并发机
0 2024-04-26
编程技术问答社区
在c#中使用自动化dll调用ps脚本文件
我试图使用C#中的参数调用PowerShell脚本文件,使用System.Management.Automation这样: using (var ps = PowerShell.Create()) { try { var script = System.IO.File.ReadAllText("MyPsFile.ps1"); ps.Commands.AddScript(script); ps.AddScript(script); ps.AddParameter("MyKey1", value1); ps.AddParameter("MyKey2", value2); var results = ps.Invoke(); } catch (Exception ex) { Debug.WriteLine(ex.Message);
0 2024-04-26
编程技术问答社区
在Powershell中注册热键(C#?)
因此,在这个不错的帮助下 我能够创建以下代码 Add-Type -TypeDefinition @" using System; using System.Text; using System.Runtime.InteropServices; namespace User32{ public static class NativeMethods{ [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
4 2024-04-26
编程技术问答社区