I needed to simulate web traffic on a bunch of Windows stations. So I wrote a PowerShell script which randomly open Internet Explorer or download files from the internet.
########################### # author : shebangthedolphins.net # version : 1.0 # date : 2019.02 # role : open internet explorer to generate random web traffic # other : # - Tested on a Windows 7 host # updates : # - 1.0 : first version #Variables definition $url1 = "https://usconstitution.net/" $url2 = "https://qwant.com" $url3 = "https://ddg.gg" $url4 = "http://dell.com" $url5 = "http://msn.com" $url6 = "http://www.yahoo.fr" $url7 = "https://fr.news.yahoo.com/" $url8 = "https://news.google.com/?tab=wn&hl=fr&gl=FR&ceid=FR:fr" function Random-Number { Get-Random -Minimum $args[0] -Maximum $args[1]; } function Ready { $count = 0 while($ie.ReadyState -ne 4) { Start-Sleep -m 200; Write-Host "I'm ready : $count" + $ie.ReadyState $count++; If ($count -eq 100) { Get-Process | ? { $_.ProcessName -eq 'iexplore' } | Stop-Process Get-Process | ? { $_.ProcessName -eq 'werfault' } | Stop-Process [System.GC]::Collect() #garbage collector source : https://dmitrysotnikov.wordpress.com/2012/02/24/freeing-up-memory-in-powershell-using-garbage-collector/ return $false break } } return $true } function IE { $navOpenInBackgroundTab = 0x1000; #Open the resource or file in a new background tab; the currently active window and/or tab remains open on top. $ie = New-Object -COMObject internetexplorer.application; $ie.visible = $true; return $ie } $ie = IE While($true) { $result = Random-Number 2 10 Write-Host "sleep pendant $result" #Start-Sleep $result $result = Random-Number 0 8 If ($result -ne "0") { #Internet Explorer $SleepTime = Random-Number 2 5 Write-Host "Internet Explorer, nous allons vers l'url : $result" switch ($result) { "1" { $ie.navigate($url1); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "2" { $ie.navigate($url2); #main tab link #$ie.navigate($url5,$navOpenInBackgroundTab); #secondary tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "3" { $ie.navigate($url3); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "4" { $ie.navigate($url4); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "5" { $ie.navigate($url5); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "6" { $ie.navigate($url6); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "7" { $ie.navigate($url7); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } "8" { $ie.navigate($url8); #main tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; if(!(Ready $ie)) { $ie = IE } break } default { $ie.navigate($url1); #main tab link if(!(Ready $ie)) { $ie = IE } #$ie.navigate($url2,$navOpenInBackgroundTab); #secondary tab link #$ie.navigate($url3,$navOpenInBackgroundTab); #secondary tab link #while($ie.ReadyState -ne 4) {start-sleep -m 100}; break } } Write-Host "sleep during $SleepTime" Start-Sleep $SleepTime } else { $random = Random-Number 1 8 switch ($random) { "1" { Write-Host "URL1" $dlurl = "http://download.windowsupdate.com/d/msdownload/update/driver/drvs/2019/07/9d387429-8bc8-4c74-9e64-4f390135fea5_5863649b17baf6de00a43a85c0c715d6b4bf1090.cab" } "2" { Write-Host "URL2" $dlurl = "http://download.windowsupdate.com/c/msdownload/update/driver/drvs/2019/01/10852c22-972e-4510-9bae-ea19af8e7add_086d1ad6b807fc36ef1aea175b3bd84812d1f113.cab" } "3" { Write-Host "URL3" $dlurl = "http://download.windowsupdate.com/d/msdownload/update/software/updt/2019/07/ie11-windows6.2-kb4510979-x64_6adb75d2398fa62a89173ece5573a454a494a911.msu" } "4" { Write-Host "URL4" $dlurl = "https://download.winzip.com/gl/nkln/winzip23-home.exe" } "5" { Write-Host "URL5" $dlurl = "https://www.rarlab.com/rar/winrar-x64-571ar.exe" } "6" { Write-Host "URL6" $dlurl = "https://download.ccleaner.com/cctrialsetup.exe" } "7" { Write-Host "URL7" $durl = "https://www.dell.com/downloads/global/products/pedge/en/server-poweredge-m1000e-tech-guidebook.pdf" } default { Write-Host "Default" $dlurl = "https://usconstitution.net/const.pdf" } } $dst = "C:\Windows\Temp\TEST" Write-Host "Invoke-WebRequest -Uri $dlurl -OutFile $dst" Invoke-WebRequest -Uri "$dlurl" -OutFile "$dst" Remove-Item "$dst" Start-Sleep 4 } }
Contact :