问题标签 [start-job]
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.
powershell - 如何让 Start-Job 接受脚本参数?
我有一个执行多项操作的 PowerShell 脚本,并接受延迟参数(以秒为单位的时间)。我想启动一个后台作业,在延迟参数定义的时间后播放声音。
所以用户输入如下内容:
在我的脚本中,我的参数块如下所示:
现在,$delay 参数在我的脚本中无处不在,但是当我使用 Start-Job 时它不起作用。我尝试了以下两种方法,但都没有奏效。
方法 1
方法 2
两种方法都会立即播放声音,忽略延迟。如果我用这样的数字替换 $delay ,那么它可以工作:
我很好奇为什么 $delay 不在范围内,我该如何解决这个问题?感谢您的关注。
powershell - 使用 -ArgumentList 和 Start-Job 传入参数不起作用。代码有什么问题?
我目前在尝试多线程部署虚拟机(特别是 VMWare)时遇到问题,我正在使用以下代码来尝试:
连接 viserver vCenter
这是我目前从这段代码进入终端的输出:
谁能告诉我为什么 $num 没有转化为 $i 的数字?
谢谢,亚历克斯
wpf - Powershell - 从开始工作更新文本框
我一直在努力将我用 C# 编写的 WPF 程序转移到 PowerShell,我在从 Start-Job 在我的 RichTextBox 中附加文本时遇到了一点问题。看起来我可以在任何地方调用 Set-RichTextBox,除了在脚本块内。有解决方法吗?
我可以在除 Start-Job 之外的任何地方调用 RichTextBox,我没有收到任何错误消息。知道我在这里做错了什么吗?
multithreading - 使用 poshrsjob 模块的 powershell 线程帮助
我正在尝试对某些东西进行多线程处理并遇到了这个问题:http: //learn-powershell.net/2015/03/31/introducing-poshrsjob-as-an-alternative-to-powershell-jobs/
尝试使用但出现错误并且无法访问我需要的数据。让我解释。我在这里有一个非常简单的例子:
这实际上是错误的说计算机名是空的。我在这里放置的任何类型的命令都会出现相同的错误,即计算机名称为空。如何摆脱这种情况以及如何访问应该返回的布尔值。这会在命令行上返回 true 或 false,但在此脚本中运行时我无法访问此值。
最终,这将需要一个 IP 数组,并且我需要访问为每台机器返回的所有值。我不必使用这个豪华模块,但需要线程并认为这是一个不错的选择。任何建议在这里表示赞赏。
powershell - 开始作业和 PSVersion 错误
我需要使用网络服务删除大量记录。Microsoft.Xrm.Data.Powershell模块提供了几个 cmdlet 来完成这项工作。
以下脚本应由不同的作业执行:
这是我用来执行我的工作的代码:
当我执行我的代码时,作业中会抛出以下错误消息:
错误消息显示模块“Microsoft.Xrm.Data.Powershell”需要 PowerShell 4.0 版,但当前主机使用的是 1.0 版。
根据Start-Job 的在线文档,我可以传递参数 -PSVersion,但只能使用值 2.0 或 3.0。
这是否意味着根本不可能执行使用需要 PowerShell 4.0 /5.0 的模块的作业?
2016 年 2 月 4 日更新:我在文件“Microsoft.Xrm.Data.PowerShell.psd1”中注释掉了以下行。
...但现在我在工作中收到此错误:
我不明白为什么我现在有“Deserialized.Microsoft.Xrm.Tooling.Connector.CrmServiceClient”和“Microsoft.Xrm.Tooling.Connector.CrmServiceClient”
powershell - Powershell 作业意外返回“System.Management.Automation.PSObject”对象而不是 System.Object
我运行一个维护 Powershell 脚本,它远程检查 Windows 服务器事件日志中的各种条目,然后采取适当的纠正/警报措施。
该脚本每 5 分钟运行一次,但由于在尝试查询无法访问/无响应的服务器时 Get-WinEvent 调用超时并出现 RPC 不可用错误,该脚本有时会运行太长时间。
为了避免这个问题,我正在努力将 Get-WinEvent 调用包装在 Jobs 中,以便我可以对它们应用可配置的超时。
对于查找多个事件的 Get-WinEvent 作业,Receive-Job 正确返回包含“System.Diagnostics.Eventing.Reader.EventLogRecord”对象的“System.Object[]”数组。如果只找到一个事件,则 Receive-Job 会改为返回“System.Management.Automation.PSObject”对象。
如果没有与作业相关的代码,查找一个事件的 Get-WinEvent 调用会返回一个非数组“System.Diagnostics.Eventing.Reader.EventLogRecord”对象,该对象可以很容易地用数组包装以供下游使用。
任何人都有更好的方法来为远程 Get-WinEvent 调用添加超时或对返回的“System.Management.Automation.PSObject”而不是非数组“System.Diagnostics.Eventing.Reader.EventLogRecord”的解释/修复' 目的?
函数和一些示例调用如下所示:
主返回行上的逗号试图强制返回一个数组(请参阅:PowerShell 中数组的计数属性与 pscustomobjects)
我也尝试过实例化一个数组,然后将结果集添加到其中:
将结果集转换为数组:
并将结果集作为数组的一部分返回:
我认为这与“Powershell 中的函数返回值”提出的解决方案中所涵盖的问题不同——在我的问题中,对象类型的问题在函数返回之前就存在了。
出于调试目的取消注释以下行
结果打印以下输出:
系统对象[]
System.Management.Automation.PSObject
System.Object[] 行由运行 Get-WinEvent 查询以查找多个事件的作业返回。
“System.Management.Automation.PSObject”行由运行 Get-WinEvent 查询的作业返回,该查询找到单个事件
powershell - Powershell - 过滤 WMIObject 显示两个脚本结果
我是powershell的新手,现在我有两个脚本,一个是获取远程服务器的IP,另一个是获取远程服务器的具体服务开始时间,我需要显示远程服务器的IP和具体服务开始时间,有人可以指导我如何合并这两个脚本。
下面是我的两个脚本。
另一个获取服务开始时间是
最后我需要知道一件事,如果我对这个脚本使用 asjob,这意味着它是多线程执行吗?
对不起我的英语不好,谢谢你的帮助。
powershell - 作业不创建虚拟机
我想创建一个有工作的虚拟机。
结果:
什么都没有发生,没有创建虚拟机,但是如果我运行这个命令:
将创建虚拟机。
有没有人看到我的错误或我做错了什么?
multithreading - powershell run script in parallel
i'm using windows server 2003, now i have a script to restart one specific service, can someone guide me how to run this script in parallel? i already use start-job, but seems it only run in backround but still sequential, below is my script:
file name: restart-service.ps1
or this
but i only can see the result, but can not see any result related information of my server's IP, can someone help me how to improve it...
powershell - 工作意外辞职
我想使用(以避免打开整个日志)Start-Job
同时监视(尾)多个日志文件。Get-Content file -Wait -Last 1
-Last 1
运行gc $file -Last 1 -Wait
只允许拖尾一个文件。把它包起来Start-Job -Scriptblock
立即辞职。
我有这样的想法。
任何建议如何解决这个问题?