5 Replies Latest reply on Dec 5, 2016 6:42 AM by derniwi

    Wie würdet ihr den "online status" eines server überpüfen

    System32 Apprentice
      wenn eine bestimmte Installation einen bestimmten Server benötigt ?

      Ich dachte an einen ping, Resultat auslesen und if Bedingungen aus dieser *.ini Datei...

      ZIEL soll sein: Die Installation des Pakets bricht ab wenn der Server offline ist.

      Hat jemand etwas funktionierendes?

      Danke und LG
        • 1. Re: Wie würdet ihr den "online status" eines server überpüfen
          _Mel_ Master
          wenn der server ein share hat -> auf existenz eines files auf diesem share prüfen
          • 2. Re: Wie würdet ihr den "online status" eines server überpüfen
            NicoS1 Master
            Reagiert der Server auf einen bestimmten TCP Port für deine Anwendung?
            Wenn ja, via PowerShell

            function Test-Port($hostname, $port)
            {
                # This works no matter in which form we get $host - hostname or ip address
                try {
                    $ip = [System.Net.Dns]::GetHostAddresses($hostname) |
                        select-object IPAddressToString -expandproperty  IPAddressToString
                    if($ip.GetType().Name -eq "Object[]")
                    {
                        #If we have several ip's for that address, let's take first one
                        $ip = $ip[0]
                    }
                } catch {
                    Write-Host "Possibly $hostname is wrong hostname or IP"
                    return
                }
                $t = New-Object Net.Sockets.TcpClient
                # We use Try\Catch to remove exception info from console if we can't connect
                try
                {
                    $t.Connect($ip,$port)
                } catch {}

                if($t.Connected)
                {
                    $t.Close()
                    $ret = $true
                }
                else
                {
                $ret = $false
                }
                return $ret
            }

            if($(Test-Port -hostname HIERSERVERNAME -port HIERPORT) -eq $true) {
            hier dann entsprechende Exit Codes bzw. NI Variablen Rückgabe
            }

            • 3. Re: Wie würdet ihr den "online status" eines server überpüfen
              derniwi Master
              Hallo,

              die "Datei" könnte auch "." sein, oder?

              If Exist('\\Server\Share\.')


              Zumindest kann man somit auf die Existenz eines Verzeichnisses prüfen.

              Gruß
              Nils
              • 4. Re: Wie würdet ihr den "online status" eines server überpüfen
                FrankScholer Master
                Hi Nico,

                das geht aber auch einfacher mit dem PowerShell Cmdlet "Test-NetConnection" prüfen. Hab ich letztes Jahr mal nen Blog-Artikel dazu geschrieben ("Netzwerkverbindungen testen - eine Alternative")...

                HTH, Grüße Frank
                • 5. Re: Wie würdet ihr den "online status" eines server überpüfen
                  NicoS1 Master

                  das geht aber auch einfacher mit dem PowerShell Cmdlet "Test-NetConnection" prüfen.



                  Stimmt, den hab ich sogar gelesen gehabt, nur wieder "vergraben", weil ich zu der Zeit mein Automatisierungspackeselserver noch unter 2003 lief, und das CMDLET ja erst ab der PS4.0 drin war. *pfeif*