Disk space script help


hello,

this script disk space information list of computers , output the results excel spreadsheet. i'm wanting modify uses 5 different computer name list's , output each of list's results seperate sheet. 

would know how done?

i found using command add additional sheets but results computer list1 show on sheet 5.

($i = 0; $i -le 3; $i++) {
$b = $a.sheets.add() }

 

  set-executionpolicy -executionpolicy remotesigned    $erroractionpreference = "silentlycontinue"    $a = new-object -comobject excel.application  $a.visible = $true   $a.horizontalalignment = $xlcenter  $a.verticalalignment = $xlcenter    $b = $a.workbooks.add()  $c = $b.worksheets.item(1)    for ($i = 0; $i -le 3; $i++) {   $b = $a.sheets.add() }     $a.worksheets.item(1).name = "list 1"  $a.worksheets.item(2).name = "list 2"  $a.worksheets.item(3).name = "list 3"  $a.worksheets.item(4).name = "list 4"  $a.worksheets.item(5).name = "list 5"      $c.cells.item(1).columnwidth = 19  $c.cells.item(2).columnwidth = 13  $c.cells.item(3).columnwidth = 13  $c.cells.item(4).columnwidth = 18  $c.cells.item(5).columnwidth = 17  $c.cells.item(6).columnwidth = 13  $c.cells.item(7).columnwidth = 21      $c.cells.item(1).rowheight=16    $c.cells.item(1,1) = “server”  $c.cells.item(1,2) = “drive letter”  $c.cells.item(1,3) = “filesystem”  $c.cells.item(1,4) = “disk capacity (gb)”  $c.cells.item(1,5) = “used space (gb)”  $c.cells.item(1,6) =% used”  $c.cells.item(1,7) = “free disk space (gb)”    $d = $c.range("a1:g1")  $d.entirecolumn.autofilter()  $d.entirecolumn.numberformat = ".0"  $d.interior.colorindex = 15  $d.font.colorindex = 11  $d.font.bold = $true  $d.horizontalalignment = $xlcenter  $d.verticalalignment = $xlbottom  $d.wraptext = $true  $d.orientation = 0  $d.addindent = $false  $d.indentlevel = 0  $d.shrinktofit = $false  $d.readingorder = $xlcontext  $d.mergecells = $false       $introw = 2    $colcomputers = get-content c:\list1.txt  foreach ($strcomputer in $colcomputers)    {    $coldisks = gwmi win32_logicaldisk -computername $strcomputer -filter "drivetype = 3"     foreach ($objdisk in $coldisks)     {    $d.entirecolumn.numberformat = ".0"    $c.cells.item($introw, 1) = $strcomputer.toupper()  $c.cells.item($introw, 2) = $objdisk.deviceid  $c.cells.item($introw, 3) = $objdisk.filesystem  $c.cells.item($introw, 4) = ($objdisk.size/ 1gb)  $c.cells.item($introw, 5) = (($objdisk.size-$objdisk.freespace)/ 1gb)  $c.cells.item($introw, 6) = ((($objdisk.size-$objdisk.freespace)/$objdisk.size)*100)  $c.cells.item($introw, 7) = ($objdisk.freespace/ 1gb)      $introw = $introw + 1    }  }    $c.saveas('c:\results\test1.xlsx')    start-sleep 2    $excel.activeworkbook.close      [system.runtime.interopservices.marshal]::releasecomobject($excel)  start-sleep 1  'excel processes: {0}' -f @(get-process excel -ea 0).count    stop-process -name excel -force  

this trick:

  $excel = new-object -comobject excel.application $excel.visible = $true  $excel.workbooks.add() $computers = gc test.txt $i = 1 foreach ($computer in $computers) {     $sheet = $excel.sheets.add()      $sheet.name = "list $i"     $sheet.cells.item(1).columnwidth = 19     $sheet.cells.item(2).columnwidth = 13     $sheet.cells.item(3).columnwidth = 13     $sheet.cells.item(4).columnwidth = 18     $sheet.cells.item(5).columnwidth = 17     $sheet.cells.item(6).columnwidth = 13     $sheet.cells.item(7).columnwidth = 21     $sheet.cells.item(1).rowheight=16     $sheet.cells.item(1,1) = “server”     $sheet.cells.item(1,2) = “drive letter”     $sheet.cells.item(1,3) = “filesystem”     $sheet.cells.item(1,4) = “disk capacity (gb)”     $sheet.cells.item(1,5) = “used space (gb)”     $sheet.cells.item(1,6) =% used”     $sheet.cells.item(1,7) = “free disk space (gb)”     $range = $sheet.range("a1:g1")     $range.entirecolumn.autofilter()     $range.entirecolumn.numberformat = ".0"     $range.interior.colorindex = 15     $range.font.colorindex = 11     $range.font.bold = $true     $range.horizontalalignment = [microsoft.office.interop.excel.constants]::xlcenter     $range.verticalalignment = [microsoft.office.interop.excel.constants]::xlbottom     $range.wraptext = $true     $range.orientation = 0     $range.addindent = $false     $range.indentlevel = 0     $range.shrinktofit = $false     $range.readingorder = [microsoft.office.interop.excel.constants]::xlcontext     $range.mergecells = $false     $introw = 2     $coldisks = gwmi win32_logicaldisk -computername $computer -filter "drivetype = 3"      foreach ($objdisk in $coldisks) {         $range.entirecolumn.numberformat = ".0"         $range.cells.item($introw, 1) = $computer.toupper()         $range.cells.item($introw, 2) = $objdisk.deviceid         $range.cells.item($introw, 3) = $objdisk.filesystem         $range.cells.item($introw, 4) = ($objdisk.size/ 1gb)         $range.cells.item($introw, 5) = (($objdisk.size-$objdisk.freespace)/ 1gb)         $range.cells.item($introw, 6) = ((($objdisk.size-$objdisk.freespace)/$objdisk.size)*100)         $range.cells.item($introw, 7) = ($objdisk.freespace/ 1gb)         $introw ++         }     $i ++     }         


([string](0..9|%{[char][int](32+("39826578846355658268").substring(($_*2),2))})).replace(' ','')


Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

2008 Windows Deployment Server Properties Error

Can no longer user MS Update - Files required to use Microsoft Update are no longer registered

How do a find data in one file, search for it in another file and if not found, write a custom message to another file