Start-Job 會使用 ScriptBlock 參數以背景作業的形式執行 Get-Process。 Name 參數會指定尋找 PowerShell 行程 pwsh 作業資訊隨即顯示,且PowerShell會在工作在背景執行時返回提示。若要檢視作業的輸出,請使用 Receive-Job Cmdlet。 例如: Receive-Job -Id 1。
利用本地变量,从一个可扩展的字符串,使用[scriptblock]::create方法创建脚本块: $v1 = "123" $v2 = "asdf" $sb = [scriptblock]::Create("Write-Host 'Values are: $v1, $v2'") $job = Start-Job -ScriptBlock $sb # 另一种写法 [scriptblock]$sb = { Write-Host "Values are: $v1, $...
若要在作业中使用 CIM 命令,必须使用 Start-Job 启动作业。 下面是一个示例: PowerShell PS C:\>Start-Job-ScriptBlock{Get-CimInstance-ClassNameWin32_ComputerSystem} Id Name PSJobTypeName State HasMoreData Location Command -- --- --- --- --- --- ---3Job3 BackgroundJob Ru...
1 $StartJob = Start-Job -ScriptBlock {Get-Process} 2 $StartJob Id Name PSJobTypeName State HasMoreData Location Command -- --- --- --- --- --- --- 7 Job7 BackgroundJob Running True localhost Get-Process 我们能够从上面看到 $StartJob名字叫做Job7,Job的类型为后台Job,状态为Running...
$job = Start-Job -ScriptBlock $sb # 另一种写法 [scriptblock]$sb = { Write-Host "Values are: $v1, $v2" } 复制代码 方法2: 在InitializationScript中设置变量 $Init_Script = { $v1 = "123" $v2 = "asdf" } $sb = { Write-Host "Values are: $v1, $v2" ...
4.处理Job (1)Wait-Job 1#创建一个等待1s的后台任务2$WaitJob1= Start-Job -ScriptBlock {Sleep -Seconds 10}3#创建一个等待5s的后台任务4$WaitJob2= Start-Job -ScriptBlock {Sleep -Seconds 15}5#等待两个Job完成6Wait-Job -Job$WaitJob1,$WaitJob2-Timeout 2 ...
事件处理:在事件驱动的 PowerShell 脚本中使用 ScriptBlock 来响应事件。 并行处理:使用 Start-Job 或ForEach-Object -Parallel 与ScriptBlock 结合进行并行处理。 可能遇到的问题及解决方法 问题:参数未正确传递 原因:可能是参数名称拼写错误,或者参数类型不匹配。 解决方法:确保参数名称和类型与 ScriptBlock 中定义的...
$j = Start-ThreadJob -InputObject (Get-Process pwsh) -ScriptBlock { $input | Out-String } $j | Wait-Job | Receive-Job NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName --- --- --- --- -- -- --- 94 145.80 159.02 18.31 18276 1 pwsh 101 163.30 222.05 29.00 35928 1 ...
$j = Start-ThreadJob -InputObject (Get-Process pwsh) -ScriptBlock { $input | Out-String } $j | Wait-Job | Receive-Job NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName --- --- --- --- -- -- --- 94 145.80 159.02 18.31 18276 1 pwsh 101 163.30 222.05 29.00 35928 1 ...
Start-ThreadJob -ScriptBlock { Get-Process } | Wait-Job | Receive-Job 1. 以下命令启动为每个通过管道传递的输入运行Write-Output命令的线程作业,然后等待所有子作业完成 ,最后返回子作业生成的所有数据结果。 1..5 | ForEach-Object -Parallel { Write-Output $_ } -AsJob | Wait-Job | Receive-Job ...