Schriftgröße: +
2 minutes reading time (325 words)

Citrix PVS Connection check mit Powershell

citrix PVSFür die Systemüberwachung reicht es machmal nicht, die Serververfügbarkeit zu prüfen. Wir hatten vor kurzem das Problem, dass ein PVS Server aus Netzwertechnischen Gründen verfügbar und voll finktionsfähig war, aber leider dennoch keine Images gestreamt hat. Zur Überwachung mit SCOM ist ein kleiner Powershell Skript entstanden, dass die Verbindungen von einem Citrix PVS Server überpruft. 

Wenn wir 0 Verbindungen haben, ist etwas nicht OK und das Skript liefert "False" zurück. Im Folgenden das genannzte Skript.

Mit dem ersten Skript wird zunächste auf dem PVS Server das SnapIn installiert. Das muss einmalig erfolgen.

    <#
    .SYNOPSIS
	    Install PVS SnapIn
        return $true on a Citrix PVS Server, if PVS 7.1 SnapIn is installed
    .PARAMETER 
        -$InstallMcliSnapIn $false don't install the snapIn
    .EXAMPLE
        -$InstallMcliSnapIn $true
    #>

[cmdletBinding(SupportsShouldProcess=$False)]
param([BOOLEAN] $InstallMcliSnapIn = $true)


function Install-PSSnapin{
   <#
    .SYNOPSIS
        Install the PSSnapin

    .DESCRIPTION
        Install the PSSnapin
        Andraes Nick 2015

    .PARAMETER 

    .EXAMPLE
        $result =  Install-PSSnapin
    #>
  [cmdletBinding(SupportsShouldProcess=$False)]
  param()

  $out = & “C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installutil.exe” “C:\Program Files\Citrix\Provisioning Services Console\McliPSSnapIn.dll" 

  if(($out -match "The Install phase completed successfully") -and `
     ($out -match "The Commit phase completed successfully") -and `
     ($out -match "The transacted install has completed")){
        Write-Debug "Successful inizialized"
        return $true
   }
   
   Write-Debug "Cannot install PVS-Snapin"
   return $false
}

 

Das eigentliche Skript Check-PVSDeviceCount.ps1 führt auf einem Citrx PVS Server (Version 7.6) den DeviceCount. Liegt dieser bei "0" oder gibt es bei der Aussführung des Skriptes ein Problem, liefert das Skript "$False" zurück. Liegt der DeviceCount bei größer 0, liefert das Skript "$True" zurück.

    <#
    .SYNOPSIS
        return $true on a Citrix PVS Server, if the server has open connections to clinets

    .DESCRIPTION
        sometimes there can be a network problem. With this script, a monitoring of open connections ist possible (SCOM)
    .PARAMETER 

    .EXAMPLE
        ConvertTo-PvsObject $diskinfo
    #>

try{
   Add-PSSnapin -Name McliPSSnapIn
   [String] $Output = Mcli-get serverinfo
   $matches = ([regex] 'deviceCount:\s+(?<wert>\d+)').Matches($Output) 
   [int] $deviceCount = $matches[0].Groups["wert"].Value
   Write-Debug "deviceCount : $deviceCount"

   if($deviceCount -ge 1){
     return $true
   } else {
      return $false
   }
}
catch {
  $ErrorMessage = $_.Exception.Message
  $FailedItem = $_.Exception.ItemName
  Write-Host  "$FailedItem $ErrorMessage"
  Write-Debug  "$FailedItem $ErrorMessage"
  return $false
}

 

 

Powershell Backup mit Winrar
Citrix Studio XenDesktop startet langsam und mit d...

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Bereits registriert? Hier einloggen
Freitag, 27. Dezember 2024

Sicherheitscode (Captcha)

Nick Informationstechnik GmbH
Dribusch 2
30539 Hannover

+49 (0) 511 165 810 190
+49 (0) 511 165 810 199

infonick-it.de

Newsletter

Anmeldung zum deutschen M.A.D. Newsletter mit Informationen zur Anwendungsvirtualisierung!

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.