Script to export to excel


i have below script:-- looking convert output excel format

$servers = get-content “c:\list.txt”
foreach ($server in $servers)
{
$server
$command = “quser /server:” + $server
invoke-expression $command 
}


when executed getting in below format output.

server1
 username              sessionname        id  state   idle time  logon time
 vdw231                ica-tcp#8           7  active          .  11/5/2012 10:40 am
 vdw232                ica-tcp#60         16  active      16:18  11/5/2012 2:22 pm
 vdw233                ica-tcp#71          3  active          .  11/6/2012 6:10 am
 vdw234                ica-tcp#72          1  active          3  11/6/2012 6:59 am
 vdw235                ica-tcp#73          5  active          .  11/6/2012 6:59 am
 vdw236                rdp-tcp#74          2  active          .  11/6/2012 7:07 am
server2
 username              sessionname        id  state   idle time  logon time
 vdw210                ica-tcp#44         14  active      13:50  11/5/2012 9:03 am
 vdw211                ica-tcp#67          6  active          .  11/6/2012 1:56 am
 vdw212                ica-tcp#70          1  active         45  11/6/2012 6:34 am
 vdw213                ica-tcp#72          9  active         25  11/6/2012 6:53 am
 vdw214  
server3
 username              sessionname        id  state   idle time  logon time
 vdw215                rdp-tcp#131         1  active         19  11/5/2012 1:42 am
 vdw216                rdp-tcp#132         4  active         17  11/5/2012 2:06 am
 vdw217                rdp-tcp#143         6  active          .  11/6/2012 3:31 am

my requirement wanted to convert this output excel format for submitting to management. below excel format thinking...to have above script...


$result = @() $servers = get-content "c:\list.txt"  foreach ($server in $servers) { 	$result += quser /server:$server | select -skip 1 | foreach { 		$obj = $_ -split "\s{2,}" 		if($obj.count -eq 5) { 			$sn = "" 		} 		else { 			$sn = $obj[1] 		} 		new-object psobject -property @{ 			"servername" =  $server 			"username" = $obj[0].trim()             			"sessionname" = $sn         			"id" = $obj[-4]  			"state"  = $obj[-3]   			"idle time" = $obj[-2]   			"logon time"= $obj[-1]  		} 	} }  $result | select "servername","username","sessionname","id","state","idle time","logon time" | export-csv result.csv -notype



Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

Generating Event ID 91, 44 with CA (In Event Viewer with source as Certsvc)

Group policy default policy cannot be edited because network name not found

Problem when changing update source