PowerShell Script To Get System Account Of A Web Application

The mentioned below script explains how to get the System Account of a Web Application in the SharePoint using a PowerShell script.
 
  1. $farmWebAppService = (Get-SPFarm).Services | ? { $_.typename -eq "Microsoft SharePoint Foundation Web Application" }    
  2.   
  3.      
  4.   
  5. foreach($webApp in $farmWebAppService.WebApplications)    
  6.   
  7. {    
  8.   
  9.   Write-Host "Web Application: " $webApp.Name    
  10.   
  11.   $collection = @()    
  12.   
  13.   foreach ($zonepol in $webApp.Policies)    
  14.   
  15.   {    
  16.   
  17.     if($zonepol.IsSystemUser -eq $true)    
  18.   
  19.     {    
  20.   
  21.       $collection += $zonepol;    
  22.   
  23.     }    
  24.   
  25.   }    
  26.   
  27.      
  28.   
  29.   if($collection.Count -eq 0)    
  30.   
  31.   {    
  32.   
  33.     Write-Host "System Account (application pool account): " $webApp.ApplicationPool.DisplayName " - " $webApp.ApplicationPool.Username    
  34.   
  35.   }    
  36.   
  37.   else    
  38.   
  39.   {    
  40.   
  41.     foreach($item in $collection)    
  42.   
  43.     {    
  44.   
  45.       Write-Host "System Account (policy setting): " $item.DisplayName " - " $item.UserName    
  46.   
  47.     }    
  48.   
  49.   }    
  50.   
  51. }