title: Powershell script to get certificate expiry for a website remotely for multiple servers
body: <p>I am trying to create an script to get the certificate expiry date for an websites remotely for multiple servers. I have an script which is working for single server (Need to login into server and doing execution), I need to run this remotely for multiple servers. How can i modify this script to execute for multiple servers remotely. Please advice.</p>
  
  <pre><code> $servers = get-content D:\Certificate.txt
  $DaysToExpiration = 60 #change this once it's working 
  $expirationDate = (Get-Date).AddDays($DaysToExpiration)
  
  foreach ($server in $servers)
  {
  
  $sites = Get-Website | ? { $_.State -eq "Started" } | % { $_.Name }
  $certs = Get-ChildItem IIS:SSLBindings | ? {
             $sites -contains $_.Sites.Value
           } | % { $_.Thumbprint }
  
  
  Get-ChildItem CERT:LocalMachine/My | ? {
    $certs -contains $_.Thumbprint -and $_.NotAfter -lt $expirationDate
  }
  }
  </code></pre>