Dies ist eine alte Version des Dokuments!
[22:55:17.197] # 33 -> HTTP -1 (0 ms) [22:55:17.407] # 34 -> HTTP -1 (0 ms) [22:55:17.611] # 35 -> HTTP -1 (0 ms) [22:55:17.825] # 36 -> HTTP -1 (0 ms) [22:55:18.042] # 37 -> HTTP -1 (0 ms) [22:55:18.245] # 38 -> HTTP -1 (0 ms) [22:55:18.456] # 39 -> HTTP -1 (0 ms) [22:55:18.669] # 40 -> HTTP -1 (0 ms) [22:55:18.876] # 41 -> HTTP -1 (0 ms) [22:55:19.086] # 42 -> HTTP -1 (0 ms) [22:55:19.286] # 43 -> HTTP -1 (0 ms) [22:55:19.496] # 44 -> HTTP -1 (0 ms) [22:55:19.701] # 45 -> HTTP -1 (0 ms) [22:55:19.910] # 46 -> HTTP -1 (0 ms) [22:55:20.120] # 47 -> HTTP -1 (0 ms) [22:55:20.321] # 48 -> HTTP -1 (0 ms) [22:55:20.531] # 49 -> HTTP -1 (0 ms) [22:55:20.749] # 50 -> HTTP -1 (0 ms) PS C:\Users\Manuel Zarat>
Hallo Besucher! Willkommen in diesem kleinen Wiki rund um IT. Vieles ist noch unvollständig, unstrukturiert oder vielleicht sogar falsch bzw. irreführend.
Du kannst Artikel gerne ergänzen oder verbessern. Gerne mit so vielen Links wie nötig. Bitte keine Werbelinks und nur selbst verfasste oder lizenzfreie Texte! Copyright beachten!
Eine Liste von Seiten die noch erstellt werden müssen.
<# PowerShell 5.1 – EAS Basic-Auth Test (sendet IMMER weiter, auch bei 429) Optional: - -IgnoreCertErrors (nur Test!) - -LogHeaders um X-EAS-FAIL / X-Blocked-By etc. zu sehen, falls du die in HAProxy setzt. #> param( [string]$Url = "https://eas.akm.at/Microsoft-Server-ActiveSync", [string]$Username = "doesnotexist-testuser", [string]$Password = "WrongPassword123!", [int]$Count = 200, [int]$DelayMs = 100, [int]$TimeoutSec = 10, [switch]$IgnoreCertErrors, [switch]$LogHeaders ) # TLS 1.2 erzwingen [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # Optional: Zertifikatsfehler ignorieren (nur Tests) if ($IgnoreCertErrors) { [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true } } function New-BasicAuthValue { param([string]$User, [string]$Pass) $pair = "{0}:{1}" -f $User, $Pass $b64 = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($pair)) return "Basic $b64" } $auth = New-BasicAuthValue -User $Username -Pass $Password Write-Host ("Target: {0}" -f $Url) Write-Host ("User: {0}" -f $Username) Write-Host ("Count: {0} Delay: {1}ms Timeout: {2}s" -f $Count, $DelayMs, $TimeoutSec) Write-Host "" for ($i=1; $i -le $Count; $i++) { $sw = [Diagnostics.Stopwatch]::StartNew() $code = -1 $err = $null $h = @{} try { $req = [System.Net.HttpWebRequest]::Create($Url) $req.Method = "GET" $req.AllowAutoRedirect = $false $req.Timeout = $TimeoutSec * 1000 $req.ReadWriteTimeout = $TimeoutSec * 1000 $req.UserAgent = "EAS-Test/PS5.1" $req.Headers.Add("Authorization", $auth) $req.Headers.Add("MS-ASProtocolVersion", "14.1") $resp = $req.GetResponse() $code = [int]$resp.StatusCode if ($LogHeaders) { foreach ($k in $resp.Headers.AllKeys) { $h[$k] = $resp.Headers[$k] } } $resp.Close() } catch [System.Net.WebException] { if ($_.Exception.Response) { $resp = $_.Exception.Response $code = [int]$resp.StatusCode if ($LogHeaders) { foreach ($k in $resp.Headers.AllKeys) { $h[$k] = $resp.Headers[$k] } } $resp.Close() } else { $err = $_.Exception.Message } } catch { $err = $_.Exception.Message } $sw.Stop() $ts = (Get-Date).ToString("HH:mm:ss.fff") if ($code -eq -1) { Write-Host ("[{0}] #{1,4} -> HTTP -1 ({2} ms) ERROR={3}" -f $ts, $i, $sw.ElapsedMilliseconds, $err) } else { if ($LogHeaders) { $xFail = $h["X-EAS-FAIL"] $xBlk = $h["X-Blocked-By"] $extra = @() if ($xFail) { $extra += ("X-EAS-FAIL={0}" -f $xFail) } if ($xBlk) { $extra += ("X-Blocked-By={0}" -f $xBlk) } $suffix = "" if ($extra.Count -gt 0) { $suffix = " " + ($extra -join " ") } Write-Host ("[{0}] #{1,4} -> HTTP {2} ({3} ms){4}" -f $ts, $i, $code, $sw.ElapsedMilliseconds, $suffix) } else { Write-Host ("[{0}] #{1,4} -> HTTP {2} ({3} ms)" -f $ts, $i, $code, $sw.ElapsedMilliseconds) } } # WICHTIG: NICHT abbrechen bei 429 – weiter senden Start-Sleep -Milliseconds $DelayMs }