Advertisement
Guest User

Untitled

a guest
Apr 4th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. Param (
  2. [Parameter (
  3. Mandatory = $false,
  4. HelpMessage = "vcenter fqdn for checker (comma separated)")]
  5. [string[]]$vcFQDNs
  6. )
  7.  
  8. Add-Type @"
  9. using System.Net;
  10. using System.Security.Cryptography.X509Certificates;
  11. public class TrustAllCertsPolicy : ICertificatePolicy {
  12. public bool CheckValidationResult(
  13. ServicePoint srvPoint, X509Certificate certificate,
  14. WebRequest request, int certificateProblem) {
  15. return true;
  16. }
  17. }
  18. "@
  19. [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
  20. [Net.ServicePointManager]::SecurityProtocol = "Tls12, Tls11, Tls, Ssl3"
  21.  
  22. # credentials
  23. $WebReqUserName = "administrator@ sso domenet"
  24. $WebReqPassword = "Passordet til sso admin"
  25. $TempsecPW = ConvertTo-SecureString $WebReqPassword -AsPlainText -Force
  26. $WebReqCredential = New-Object System.Management.Automation.PSCredential($WebReqUserName,$TempsecPW)
  27.  
  28. $count = 0
  29.  
  30. while ($true) {
  31. $Count++
  32.  
  33. foreach ($vcFQDN in $vcFQDNs) {
  34. # first check (api)
  35. try {
  36. $WebRequest = Invoke-Webrequest -uri "https://$vcFQDN/vapiendpoint/health" -ErrorAction:Stop
  37. $WebRequestXML = [xml]$WebRequest.Content
  38. } catch {
  39. $WebRequest = $false
  40. }
  41.  
  42. # second check (mob)
  43. try {
  44. $WebRequest2 = Invoke-Webrequest -uri "https://$vcFQDN/mob" -Credential $WebReqCredential -TimeoutSec 5 -UseBasicParsing -ErrorAction:Stop
  45. } catch {
  46. $WebRequest2 = $false
  47. }
  48.  
  49. # write output
  50. Write-Host "$(Get-date -Format HH:mm) - $Count - $vcFQDN - " -NoNewLine
  51. if ($WebRequestXML.healthStatus.status -eq 'GREEN' ) {
  52. Write-Host "vAPIEndpoint:$($WebRequestXML.healthStatus.status)" -NoNewLine -ForegroundColor Green
  53. } else {
  54. Write-Host "vAPIEndpoint:$($WebRequestXML.healthStatus.status)" -NoNewLine -ForegroundColor Red
  55. }
  56.  
  57. Write-Host " - " -NoNewLine
  58.  
  59. if ( $WebRequest2.StatusCode -eq 200 ) {
  60. Write-Host "MOB:$($WebRequest2.StatusDescription)" -ForegroundColor Green
  61. } else {
  62. Write-Host "MOB:$($WebRequest2.StatusDescription)" -ForegroundColor Red
  63. }
  64.  
  65. }
  66.  
  67. # wait 15 seconds until next check
  68. Start-Sleep 15
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement