$IISservers = @" DHSSOSRVLNAPP DHSSOSRVLNHUB DOTSERVER3 ITDANDCONT2 ITDAPP11 ITDAPP12 ITDAPP7 ITDAPP8 ITDAPPSCANENT ITDAPV ITDASR1 ITDASR2 ITDAUDIT1 itdbzprod1 ITDCA5 ITDCA6 ITDCC2 ITDCDEWEB ITDCDEWEB1 ITDCITRIXLIC ITDCJISNETP1 ITDCJISNETT1 ITDCJISNETT2 ITDCJISSQLP1 ITDCJISSQLT1 ITDCLOUDNET1 ITDCLOUDNETP1 ITDCLOUDNETP2 ITDCLOUDNETP3 ITDCLOUDNETT2 ITDCLOUDNETTRN1 ITDCNDHEBOOKS1 ITDCNDHEFRDP10 ITDCNDHEFRDP6 ITDCNDHEHRDP1 ITDCNDHEHRDP7 ITDCNDHEUPK1 ITDCNDHEURDP1 ITDCNDSTBOOKS1 ITDCNDSTFRDP4 ITDCNDSTFRDP6 ITDCNDSTHQWT ITDCNDSTHRDP6 ITDCNDSTLRDP6 ITDCNDSTLSCORM1 ITDCNDSTRDP855 ITDCNDSTRRDP6 ITDCNDSTRWP ITDCNDSTUPK1 ITDCNDSTURDP1 ITDCOG11TST ITDCOGENTDEV ITDCOGENTPRD1 ITDCOGENTPRD2 ITDCOGENTPUB ITDCOGENTTST ITDCOGMMISPRM ITDCOGMMISPRM2 ITDCOGMMISSIT ITDCOGMMISTRN ITDCOGMMISUAT ITDCOGNDUS ITDCOMPLIANCE1 ITDCOMPLIANCE2 ITDCRMP1 ITDCRMP2 ITDDEQAPPP1 ITDDEQAPPT1 ITDDEQNETP1 ITDDEQNETT1 ITDDESNETP1 ITDDESNETT1 ITDDEVOS ITDDFSP1 itddhsawarepz1 itddhsawaretz1 ITDDHSMIDMZP1 ITDDHSMIDMZT1 ITDDHSMIRRIMGP1 ITDDHSMIRRIMGT1 ITDDHSPYXCCEP1 ITDDHSPYXCCET1 ITDDHSPYXESP1 ITDDHSPYXEST1 ITDDHSQMSP1 ITDDHSQMST1 ITDDLMACPT1 ITDDLMDEV1 ITDDLMPRTPROD ITDDLMSIT1 ITDDLMTRNG1 ITDDLMUAT1 itddmrdmscnv itddmrdmspfta itddmrdmspftw itddmrdmsprda itddmrdmsprdw itddmrdmssit itddmrdmssta itddmrdmsstw itddmrdmstrn itddmrdmsuat itddmrdmsuit itddmrdmsutlb ITDDOCAPPP1 ITDDOCNETP1 ITDDOCNETT1 ITDDOCRCIPS ITDDOCRRDS ITDDOHICP1 ITDDOHIMSP1 ITDDOHIMST1 ITDDOHLEGENDP2 ITDDOHLEGENDP3 ITDDOHLEGENDT2 ITDDOHLEGENDT3 ITDDOHNETP3 ITDDOHNETT3 ITDDOHNETT4 ITDDOHPRSP1 itddohslimst1 ITDDOHVID ITDDOTAPPT1 ITDDOTATMSQ1 ITDDOTDTIMSP1 ITDDOTDTIMST1 ITDDOTEXTDSAIIS ITDDOTFCR1 ITDDOTFLEETP1 ITDDOTFLEETT1 ITDDOTFRSQL1 ITDDOTGISWEB ITDDOTGISWEB2 ITDDOTGISWEB3 ITDDOTHEAT ITDDOTINTDSAIIS ITDDOTMVP1 ITDDOTMVP2 ITDDOTMVP3 ITDDOTMVS2 ITDDOTMVS3 ITDDOTNAS3 ITDDOTNETEP1 ITDDOTNETET1 ITDDOTNETP1 ITDDOTNETT1 ITDDOTNETT2 ITDDOTRTP1 ITDDOTRTT1 ITDDOTSCCM12 ITDDOTSERVER4 ITDDOTSTS ITDDOTTFSP1 itddottrvltmp1 ITDDOTUNI3 ITDDOTUNI4 ITDDPA1 ITDDPINETT1 ITDDPISAARP1 ITDDPISAARP2 ITDDPISAART1 ITDDPISAART2 ITDECAS2 ITDERNSAG1 ITDERNSAG10 ITDERNSAG12 ITDERNSAG13 ITDERNSAG2 ITDERNSAG3 ITDERNSAG4 ITDERNSAG5 ITDERNSAG6 ITDERNSAG7 ITDERNSAG8 ITDERNSAG9 ITDEXCHCASBIS1 ITDEXCHCASMAN1 ITDEXCHMBXBIS1 ITDEXCHMBXBIS2 ITDEXCHMBXMAN1 ITDEXCHMBXMAN2 ITDEXCHT1 ITDEXCHT2 ITDFUSION ITDGEOLYNX1 ITDGEOLYNX2 ITDGISUTILITY ITDGNFCODY2 ITDGNFGEO1 ITDHEATDEV1 ITDHEATPROD1 ITDHEATT1 ITDHPNEARP1 ITDHPNEARP2 ITDHPNEARP3 ITDHPNEARP4 ITDHPNEART1 ITDHPNEART2 ITDILAPP1 ITDILAPP1TST ITDILEF1 ITDILEF1TST ITDILEM1 ITDILEM1TST ITDILWEB1 ITDILWEB1TST ITDILWEB2 ITDILWEB2TST ITDJSNABSUITEP1 ITDJSNABSUITEP2 ITDJSNLDAPC ITDJSNUIP1 ITDJSNUIT1 ITDK12ADFS1 ITDK12ADFS2 ITDK12ADFSD1 ITDK12ADFSPROXY ITDK12ADFSS1 ITDK12FIMPTL1 ITDK12FIMPTL2 ITDK12FIMPTLS1 ITDK12FIMPTLS2 itdk12vpointweb ITDLANSWEEPER ITDLIST ITDLISTDEV ITDLOCALITY ITDMBAM1 ITDMFA1 ITDMFA2 ITDMFA3 ITDMFAPORTAL1 ITDMFASERVER1 ITDMFASQL1 ITDMFASQL2 ITDMFAT1 ITDMFAVPNAGENT1 ITDMFAVPNAGENT2 ITDMIDMZT1 ITDMIGATEWAY ITDMIGATEWAYT1 ITDMITRANSFERP1 ITDMMISTMART ITDNADEFENDP1 ITDNANFSTEST itdnbaio itdnbweb1 ITDNET35P1 ITDNET35P2 ITDNET35T1 ITDNET35T2 ITDNETP1 ITDNETP2 ITDNETP4 ITDNETT1 ITDNETT2 ITDNETT4 ITDNETU2 ITDNPS2 ITDOMBNETP1 ITDOMBNETT1 ITDOMBWR ITDOPENSCAN1 ITDOPENSCAN1TST ITDOPENSCAN2 ITDOUTMAN1 ITDOWAPPTEST ITDOWAPROD ITDPAESMEXT1 ITDPAESMINT1 ITDPREMIERP1 ITDPREMIERP2 ITDPREMIERSQLT1 ITDPREMIERT1 ITDPREMIERTRN1 ITDPS-IMAGES ITDPS-UPDATE ITDPV2 ITDPVTEST ITDPWDSG ITDRATRPT2 ITDRATRPT3 ITDRATRPT4 ITDRFAX itdrpaorchp1 itdrpaorcht1 ITDRRISYNERGY itdsaoicp1 ITDSCCM1 ITDSCCM1REPORT ITDSCCMP2 ITDSCCMP2MAC1 ITDSCCMUP1 ITDSCCMWSUS1 ITDSCCMWSUSUP1 ITDSHSAPPS ITDSHSPRESRVP1 ITDSITXPR4 ITDSKYPEBIS1 ITDSKYPEBIS2 ITDSKYPEDIR1 ITDSKYPEEDGE1 ITDSKYPEEDGET1 ITDSKYPEFET1 ITDSKYPEMAN1 ITDSKYPEMAN2 ITDSLDSMLDE ITDSLDSSPPROD2 ITDSLEDD1HE ITDSLEDD1K12 ITDSLRWNDS ITDSLRWNDSTEST ITDSOSBLSAPPP1 ITDSOSBLSAPPT1 ITDSOSBLSWEBP1 ITDSOSBLSWEBT1 ITDSOSBPIWP1 ITDSOSBPIWP2 ITDSOSBPWT1 ITDSOSBPWT2 ITDSOSINDEXP1 ITDSOSINDEXP2 ITDSOSINDEXT1 ITDSOSINDEXTRN1 ITDSOSVIPP1 ITDSOSVIPP2 ITDSOSVIPT1 ITDSOSVOICESP1 ITDSOSVOICESP2 ITDSOSVOICEST1 ITDSPDEVK12TST ITDSPSLDSPROD ITDSPSPROD ITDSPSPROD1DR13 ITDSPSPRODSERV ITDSPSTEST ITDSTORADMIN3 ITDTAXAPPP2 ITDTEAMP1 ITDTEAMT1 ITDTESTDEVCA6 ITDTEXCAS1 ITDTEXCAS2 ITDTEXMBX1 ITDTEXMBX2 ITDTFSP2 ITDTFSP3 ITDTFSSPPROD ITDTFST2 ITDTRVPHRAPP1 ITDTRVPHRGW ITDTSKYPEFE1 ITDTSKYPEFE2 ITDTSKYPEFE3 ITDTSKYPEFE4 ITDVMVCP1SCRIPT ITDVMVCP2SCRIPT ITDVMVRAIAASP1 ITDVMVRAIAAST1 ITDWSIEXTAPPC1 ITDWSIEXTAPPC2 ITDWSIEXTAPPD1 ITDWSIEXTAPPP1 ITDWSIEXTAPPP2 ITDWSIEXTAPPT1 ITDWSIEXTAPPT2 ITDWSIEXTSQLT1 ITDWSIEXTSRVP1 ITDWSIEXTSRVT1 ITDWSIITSM ITDWSINETP1 ITDWSINETT1 ITDWSINETT2 ITDWSIPRDWEB01 ITDWSITESTCERT1 ITDWSITESTDEVM1 ITDWSITESTDEVR1 ITDWSITESTSYS01 ITDWSITESTUAT01 ITDWSSPROD ITDWSSTEST ITDWSUS ITDWWW10 ITDWWW11 ITDWWW12 ITDWWW3 ITDWWW7 ITDWWW8 ITDWWW9 itdwwwdev10 ITDWWWDEV3 ITDWWWDEV7 ITDWWWDEV8 ITDWWWDEV9 NODAK00 NODAK02 NODAK04 WSIAPP1 "@ $servers = ConvertTo-Array -MultiLineString $IISservers $result = @() $func = { try { Import-Module WebAdministration #$result=@() $sites = Get-ChildItem IIS:\Sites\ ForEach ($site in $sites) { $id = $site.id $logdir = $site.logfile.directory + "\w3svc" + $id If ($logdir -like "*%SystemDrive%*") { $location = $site.logfile.directory -replace '%SystemDrive%', 'C:' } else { $Location = $logdir } $LogFilesAll = Get-ChildItem $location -Recurse $LogFiles15D = $LogFilesAll | Where-Object LastWriteTime -lt ((Get-Date).AddDays(-15)) $LogFiles30D = $LogFilesAll | Where-Object LastWriteTime -lt ((Get-Date).AddDays(-30)) $LogFiles60D = $LogFilesAll | Where-Object LastWriteTime -lt ((Get-Date).AddDays(-60)) $LogFiles90D = $LogFilesAll | Where-Object LastWriteTime -lt ((Get-Date).AddDays(-90)) $OldestDate = ($LogFilesAll | Sort-Object LastWriteTime | Select-Object -First 1).LastWriteTime $obj = [PSCustomObject]@{ SiteName = $site.Name; LogDir = $location; LogsAll = [math]::round(($LogFilesAll | measure-object -sum length).sum/1MB, 2); Logs15D = [math]::round(($LogFiles15D | measure-object -sum length).sum/1MB, 2); Logs30D = [math]::round(($LogFiles30D | measure-object -sum length).sum/1MB, 2); Logs60D = [math]::round(($LogFiles60D | measure-object -sum length).sum/1MB, 2); Logs90D = [math]::round(($LogFiles90D | measure-object -sum length).sum/1MB, 2); OldestFile = $OldestDate; } $obj } } catch { } } $result = Invoke-Command -Credential $AdminCred -ScriptBlock $func -ComputerName $servers $funcCleanup = { Get-Childitem -Path $args[0] | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$args[1]) } } ForEach ($site in $result) { Invoke-Command -ComputerName $site.PSComputerName -ScriptBlock $funcCleanup -Credential $AdminCred -ArgumentList $site.PSComputerName, $site.LogDir, 90 }