多线程异步执行脚本
2014-06-20 14:12
183 查看
获取远程计算机信息:
==============================
进度提示:异步线程
From:http://www.pstips.net/speeding-up-powershell-multithreading.html
$d=get-date $servers="10.4.34.41","10.4.34.40","10.4.34.36","10.4.34.37","10.4.34.39" $serverpass="Dell1950" $UserName="Administrator" #定义线程数量 $throttleLimit = 5 $SessionState = [system.management.automation.runspaces.initialsessionstate]::CreateDefault() $Pool = [runspacefactory]::CreateRunspacePool(1, $throttleLimit, $SessionState, $Host) $Pool.Open() #脚本块 $ScriptBlock = { param($server,$serverpass,$username) $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password) $cs = gwmi win32_computersystem -computer $server -Credential $cred $cs.Name } $threads = @() $handles = foreach ($server in $servers) { $powershell = [powershell]::Create().AddScript($ScriptBlock).AddArgument($server).AddArgument($serverpass).AddArgument($username) $powershell.RunspacePool = $Pool $powershell.BeginInvoke() $threads += $powershell } do { $i = 0 $done = $true foreach ($handle in $handles) { if ($handle -ne $null) { if ($handle.IsCompleted) { $threads[$i].EndInvoke($handle) $threads[$i].Dispose() $handles[$i] = $null } else {$done = $false} } $i++ } if (-not $done) { Start-Sleep -Milliseconds 500 } } until ($done) New-TimeSpan $d
==============================
进度提示:异步线程
From:http://www.pstips.net/speeding-up-powershell-multithreading.html
相关文章推荐
- PHP开启异步多线程执行脚本
- 高性能网站优化-确保异步加载脚本时保持执行顺序
- PHP 异步执行方法,模拟多线程
- window 异步脚本 同时启动两个可执行文件
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
- Shell脚本多线程执行以及并发数的控制
- JavaScript脚本执行的多线程问题
- python多线程异步post请求脚本,可以设置持续运行时间、线程数、时间间隔
- 异步执行js脚本——防止阻塞
- PHP异步执行后台的脚本命令
- python多线程异步post请求脚本,可以设置持续运行时间、线程数、时间间隔
- 关于异步更新UI界面多线程执行后台操作的一些思路整理
- Shell中实现“多线程”执行脚本文件完美解决方案
- Shell中实现“多线程”执行脚本文件完美解决方案
- php 异步执行脚本
- 【前端】关于在for循环里面执行异步脚本导致变量都采用最后的一个变量问题
- PHP 异步执行方法,模拟多线程的应用分析
- java异步执行任务,结合多线程线程池
- JavaScript脚本多线程执行问题(转帖)
- 使用多线程机制异步执行业务方法