start-job相关内容
当我运行此脚本时,变量$var为空: function FOO { write-output "HEY" } $var = Start-Job -ScriptBlock { ${function:FOO} } | Wait-Job | Receive-Job $var 如何从接收作业获得输出? 推荐答案 Start-Job在后台生成一个新的PowerShell实例,因此不
..
我想在 Powershell 中使用后台作业. 如何在 ScriptBlock 定义时评估变量? $v1 = "123"$v2 = "asdf"$sb = {写入主机“值为:$v1, $v2"}$job = Start-Job -ScriptBlock $sb$工作 |等待工作 |接收工作$工作 |删除作业 我得到 $v1 和 $v2 的打印空值.我怎样才能让它们在(传递给)脚本块中进行
..
概述 希望调用一个接受参数的 Powershell 脚本,在后台运行每个作业,并向我显示详细的输出. 我遇到的问题 脚本似乎可以运行,但我想通过流式传输后台作业运行的结果来确定这一点. 代码 ###StartServerUpdates.ps1 脚本####从文本文件中获取要更新的服务器列表并存储在数组中$servers=get-content c:\serverstoup
..
我想为我的后台作业计时(从 start-job 开始)并在 x 秒后超时.然而,我发现很难跟踪每个单独作业的运行时间(我正在运行大约 400 个作业). 我希望有一种方法可以让作业超时并将其设置为 failed 如果在 X 秒内没有 completed,但我没有找到超时参数.> 跟踪作业的单个运行时间的好方法是什么? 我想我可以创建一个包含每个作业的开始时间和作业 ID 的哈希表,并
..
我想降低以 Start-Job 在 PowerShell 脚本中.这可能吗? 解决方案 我在作业代码中使用了这个技巧(它可以是可选的,由参数控制): [System.Threading.Thread]::CurrentThread.Priority = '最低' 可用的优先级值:最低、低于正常、正常、高于正常、最高
..
我必须在这里遗漏一些非常简单的东西.这是一个非常基本的脚本来说明我正在尝试的内容: $Computers = @('comp1', 'comp2')$ScriptBlock = {新项目 "C:\Temp\$C.txt" -Force}Foreach($Computers 中的 $C){开始作业 -ScriptBlock $ScriptBlock -ArgumentList $C} 脚本运行,
..
我看到了这个问题 和 这个问题,但找不到我的问题的解决方案. 情况是这样的:我在脚本 (.ps1) 文件中有两个函数 DoWork 和 DisplayMessage.代码如下: ### 脚本开始###功能 DoWork{$event = Register-EngineEvent -SourceIdentifier NewMessage -Action {DisplayMessage($ev
..
我有一个启动作业的 powershell 脚本 start-job -scriptblock {而($真){回声“运行"开始睡眠 2}} 然后它继续执行脚本的其余部分. 那个工作,是一种监控那个进程的 PID 的工作. 我想每 n 秒同步打印一次 PID,而不必结束作业. 例如,当脚本的其余部分正在执行时,我希望在我的控制台中看到输出. 在 powershell 中可以
..
我使用 Get-WmiObjet cmdlet 从 Windows 2000 机器成功检索了一些信息.这些机器不是我们域的一部分,所以我使用 -Credential 参数来传递本地管理员凭据. 我现在尝试使用 Start-Job 并行运行多个 WMI 查询,但我什至无法使一个查询工作. 当我运行以下命令时: Start-Job -initializationscript {$cred
..
我有一个 powershell 2.0 脚本,它应该在多台服务器上运行一个命令并处理输出.我想在后台作业中为每个服务器运行命令和处理. 命令运行没有任何问题,并在半秒或更短的时间内终止: Invoke-Command -ComputerName $client -ScriptBlock { #do some things } 但是当我在后台作业中运行它时,作业不会终止: Start-J
..
我开发了一些自定义 cmdlet,用于向 SharePoint 系统执行不同的导入任务.目前,所有这些 cmdlet 都在单个 PowerShell 脚本中以串行方式运行.我想更改此设置,以便每个 cmdlet 在单独的任务(作业)中执行. 主脚本开始一个新作业,其中 Start-Job 与包含对 cmdlet 调用的单独脚本相关.该脚本启动并执行 cmdlet.我还调试了执行的 cmdle
..
我有几十万个网址需要调用.这些是对应用程序服务器的调用,应用程序服务器将处理它们并将状态代码写入表.我不需要等待响应(成功/失败),只需要服务器收到请求即可.我还希望能够指定一次可以运行多少个并发作业,因为我还没有计算出 tomcat 可以处理多少个并发请求. 这是我到目前为止所得到的,基本上取自其他人尝试做类似的事情,只是不使用 url 调用.文本文件在其自己的行中包含每个 url.网址如
..
我的任务是编写一个 PS 脚本,该脚本将从文本文件中的机器列表中: 输出机器的IP地址 获取机器上 SCCM 客户端的版本 生成 GPResult HTML 文件或 表示机器离线 最后规定在后台运行脚本(Job) 我有可以完成所有这些事情的脚本块,甚至可以按照我想要的方式格式化输出.我不能似乎做的是让脚本块从与脚本相同的目录中调用源文件.我意识到我可以简单地对目录进行硬编码
..
有没有办法为 Start-Job 命令指定工作目录? 用例: 我在一个目录中,我想使用 Emacs 打开一个文件进行编辑.如果我直接执行此操作,它将阻止 PowerShell,直到我关闭 Emacs.但是使用 Start-Job 会尝试从我的主目录运行 Emacs,从而让 Emacs 打开一个新文件而不是我想要的文件. 我尝试使用 $pwd 指定完整路径,但脚本块中的变量直到它们
..
在 powershell 中,我想学习将变量调用到启动作业的最佳方法,这样我就不必为每个服务器编辑脚本,因为它将根据我放置脚本的客户端而特定 $Servername = 'Server1'$pingblock = {路径 $servername |外文件 C:\client\PS\ServerPing.TXT}开始工作 $pingblock 当我运行上面的代码时,我只是在帮助下得到一个文件,就
..
我试图限制通过Powershell运行的 Start-Process 的数量,但是我似乎无法使其正常工作. 我尝试遵循此过程: https://exchange12rocks.org/2015/05/24/how-to-limit-a-number-of-powershell-jobs-running-同时运行/和在powershell中运行N个并行作业 但是这些是针对Jobs而不是P
..
我有一个具有两个参数的函数mainFunction-$name将只是一个常规字符串,而$moveFunction将是一些函数. 我想开始一个ScriptBlock($SB)的工作,该脚本将以$name作为参数来调用$moveFunction. function foo($a){ Write-Output "In function foo with the argument =>
..
希望有人可以帮助我弄清楚这是否可行.我有20条ish行,可以在while循环中扫描日志文件.我需要将其与脚本的其余部分并行进行.日志扫描循环正在将条目传递到SQLite中,其他脚本需要对此信息采取行动-因此希望并行运行它们. 如果我使用Job-Start命令,那么-SciptBlock函数似乎只会接受一条管道命令.我要传递的命令太多,因此我需要在脚本块中运行多行. 我尝试了几种方法,但
..
我正在编写一个自动化脚本。我有一个需要命令或可执行文件的函数。我必须等到命令或可执行文件完成运行,如果失败或通过则返回。我也想将输出写入文件。我正在尝试使用 Start-Job cmdlet。 我当前的代码: $ job =开始作业-脚本块{ Param($ incmd) $ ret =调用表达式$ incmd -ErrorVariable e if($ e){ throw
..
当前,我尝试运行PowerShell脚本,该脚本以 Start-Job -name $ jobname -Scriptblock {... Code ...}; 此PowerShell脚本应在Windows任务计划中每15分钟执行一次。我以最高特权运行此过程,而Power-Shell-Script完美启动-问题是: 由Start-Job执行的代码不起作用。 我认为问题是“开始作业”不
..