runspace相关内容
我需要在运行空间中执行Get-MailboxStatistics。 我可以连接到Exchange Online。如果我执行‘Get-Psession’,我可以看到Exchange会话。但是,我如何将此ExchangeOnline会话传递给运行空间以执行Get-MailboxStatistics。 当前它无法识别运行空间中的Get-MailboxStatistics命令。 以下是我的代码(这是
..
我一直在阅读有关从不同运行空间写入 UI 的博客(http://learn-powershell.net/2012/10/14/powershell-and-wpf-writing-data-to-a-ui-from-a-different-runspace/). 我基本上是在尝试这样做,以便我可以单击 UI 中的一个按钮并运行 PowerShell 脚本并在发生时捕获该脚本的输出,并在不冻
..
我正在使用此代码在服务器上执行远程代码(MSI 安装).通过脚本传递双引号是行不通的.我尝试了下面给出的两种变体(#3 和 #4)以及输出. 输入 #1(测试命令中的双引号的简单案例) powershell.exe -inputformat none -File client.ps1 -target 1.2.3.4 -port 5985 -password "pass" -username
..
我有一个表格,只要准备好,就会添加几个元素(例如,一个列表).添加它们可能需要一些时间(从几分之一秒到几分钟).因此,我想将处理添加到单独的线程(子线程).元素的数量是事先不知道的(例如,文件夹中有多少个文件),因此在子流中创建它们.当子流中的处理结束时,我想在主窗体上显示这些元素(之前窗体没有这些元素并执行了其他任务). 但是,我面临着无法将这些元素从子流添加到主表单的事实.我举一个简单的
..
对于使用命令行开关和 powershell 东西,我真的处于初学者级别.我正在使用 PowerShell API 从 C# 调用命令行开关.我看到了奇怪的行为.虽然在 stackoverfow 的不同线程上,人们使用 Import-Command 或 PSImportModule 方法显式导入模块,但我可以查看 $env:PSModulePath 中是否有可用的程序集,它会自动加载.这种行为是默认
..
我正在创建一个带有 GUI 的 powershell 脚本,它将用户配置文件从选定的源磁盘复制到目标磁盘.我已经使用 VS Community 2019 在 XAML 中创建了 GUI.该脚本的工作方式如下:您选择源磁盘、目标磁盘、用户配置文件和要复制的文件夹.当您按下“开始"按钮时,它会调用一个名为 Backup_data 的函数,在其中创建一个运行空间.在此运行空间中,只有一小部分Copy-I
..
我让这段代码与 powershell.Invoke() 同步运行良好,但是使用 powershell.BeginInvoke() 我无法捕获输出.要使用下面的代码,您需要填充 $servers 变量,否则它应该运行. 我尝试通过在使用 EndInvoke() 时将每个线程添加到 $threads 变量来捕获输出,并且我能够看到线程句柄和 iscompleted 值,但是我无法弄清楚我返回的值
..
我想从运行空间调用模块中的一些函数,但它不起作用.我假设我必须以某种方式将模块发送到运行空间. 下面的例子工作正常. $hash = [hashtable]::Synchronized(@{})$hash.OutData$runspace = [runspacefactory]::CreateRunspace()$runspace.Open()$runspace.SessionStateP
..
我目前正在使用Powershell中的System.Timers.Timer对象. 我遇到的问题是,当您注册到“已逝去"事件时 Register-ObjectEvent -InputObject $timer -EventName Elapsed -SourceIdentifier ThirtySecTimer -Action $scriptblock 脚本块将在不同的Powers
..
我正在尝试在Power Shell脚本内执行程序.使用Runspaces从C#方法调用PS脚本.该程序尝试对远程服务器上的配置文件进行更新.当我运行整个程序时,出现以下错误: System.UnauthorizedAccessException:拒绝访问\\ some路径. PS脚本位于远程服务器上.如果我直接在服务器上运行PS脚本,则PS脚本及其中的程序可以正常运行,并且能够访问远程
..
我需要能够通过C#运行空间导入驻留在远程计算机上的模块. 要清楚我的意思是:我正在创建的服务驻留在服务器A上.它使用以下方法为服务器B创建一个远程运行空间.通过运行空间,我试图在服务器B上导入模块. 这是我用来进行远程呼叫的方法: internal Collection RunRemoteScript(string remoteScript, string r
..
我需要能够通过C#运行空间相对于另一台远程计算机执行驻留在远程计算机上的PS1脚本. 要清楚我的意思是:我正在创建的服务驻留在服务器A上.它使用以下方法为服务器B创建一个远程运行空间.通过运行空间,我试图针对服务器B调用驻留在服务器C上的脚本.如果有帮助,当前服务器A是服务器C,但不能保证总是如此. 这是我用来进行远程呼叫的方法: internal Collection
..
我需要使用C#中的powershell类运行Exchange联机cmdlet. 要运行在线交换cmdlet,我需要建立一个远程Powershell会话. 我的怀疑是: 1)如果runspacepool的大小为2,我应该在该runspacepool中的两个runspace中都创建该远程Powershell会话吗?如果是,我/有什么方法可以循环遍历Runspace以运行New在两个运行空间
..
我需要从C#启动Powershell脚本,并在管道上获取PSSSecurityException.Invoke() AuthorizationManager检查失败. 我的代码: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); using (Runspace runspac
..
我想在PowerShell中使用运行空间池来执行后台操作.但是我需要从主线程访问WPF窗口变量. 普通运行空间可以选择: $runspace.SessionStateProxy.SetVariable('xamGUI',$xamGUI) 但是如何使用RunspacePool进行相同操作? 解决方案 将一个变量添加到运行空间池中要花点时间,但是仍然可以实现.您将需要创建一个I
..
我正在尝试使用C#在运行空间中使用参数执行Powershell文件.不幸的是,我得到以下输出: 由于主机程序或主机程序提示用户失败的命令 命令类型不支持用户交互.尝试一个主机程序 支持用户交互,例如Windows PowerShell控制台 或Windows PowerShell ISE,并从中删除与提示相关的命令 不支持用户交互的命令类型,例如Windows PowerShell工作流程.
..
在使用使用RunSpace的脚本时,我发现它占用越来越多的系统内存.据我了解,这是由于打开RunSpace在完成时不会关闭的事实.它们保留在内存中,累积了兆字节. 如何正确关闭RunSpace?但是,我不知道需要多长时间-1秒或1个小时.完成后自行关闭. 作为示例,我将提供任意脚本. 第一个脚本是我如何完成RunSpace的关闭(它显然不起作用). $Array = 1..
..
我一直在阅读有关从不同运行空间写入UI的博客(我基本上是想做到这一点,因此我可以单击UI中的按钮并运行PowerShell脚本,并在脚本发生时捕获该脚本的输出,并在不冻结UI的情况下更新WPF UI控件. 我尝试了一个直接编写一些输出的基本示例,但是它似乎挂起了UI.我正在使用运行空间和调度程序,但似乎被卡在某些东西上. 有什么想法吗? 谢谢. Add-Type –asse
..
我一直在寻找一种在不同运行空间之间传递事件的方法,但尚未找到任何方法.下面的代码片段创建了一个背景运行空间,该运行空间显示了一个只有一个按钮的小窗口. OnClick它将发布主运行空间应接收的事件: $Global:x = [Hashtable]::Synchronized(@{}) $x.Host = $Host $Global:rs = [RunspaceFactory]::Create
..
我正在尝试使用C#同时查询两个不同Office 365帐户的用户.在两个Powershell Windows上进行尝试时,或者通过代码连接一个帐户并让另一个帐户获得用户时,此方法都可以正常工作.但是在同时使用代码时无法正常工作. 在检查时,我发现从C#尝试时仅生成一个日志文件.但是,从PowerShell窗口尝试时会生成两个不同的日志文件. 日志文件夹位置:%userprofile%\
..