# # Auswertung einer Domainliste einer Datei bezüglich Federation # # eingabe über Pipeline # # Liste der Domains aus dem Messagetracking extrahieren # get-messagetrackinglog -eventid receive | select sender | %{($_.sender).split("@")[1].tolower()} | group | select -ExpandProperty name foreach ($dnsdomain in $input) { $dnsresult = $null $result = New-Object PSObject -Property @{ domain = $dnsdomain federation = $false lyncclient = $false sipentry = $false autodiscover = $false lyncdiscover = $false } write-Verbose "$dnsdomain" $dnsresult = Resolve-DnsName -type "SRV" -Name ("_sipfederationtls._tcp."+ $dnsdomain) -nohostsfile -erroraction silentlycontinue if (($dnsresult -ne $null) -and !$error) { $result.federation = $true write-Verbose " FedFound" } $error.clear() $dnsresult = Resolve-DnsName -type "SRV" -Name ("_sip._tls."+ $dnsdomain) -nohostsfile -erroraction silentlycontinue if (($dnsresult -ne $null) -and !$error) { $result.lyncclient = $true write-Verbose " FedFound" } $error.clear() $dnsresult = Resolve-DnsName -type "A" -Name ("sip."+ $dnsdomain) -nohostsfile -erroraction silentlycontinue if (($dnsresult -ne $null) -and !$error) { $result.sipentry = $true write-Verbose " SipFound" } $error.clear() $dnsresult = Resolve-DnsName -type "A" -Name ("autodiscover."+ $dnsdomain) -nohostsfile -erroraction silentlycontinue if (($dnsresult -ne $null) -and !$error) { $result.autodiscover = $true write-Verbose " AutoDiscoverFound" } $error.clear() $dnsresult = Resolve-DnsName -type "A" -Name ("lyncdiscover."+ $dnsdomain) -nohostsfile -erroraction silentlycontinue if (($dnsresult -ne $null) -and !$error) { $result.lyncdiscover = $true write-Verbose " LyncDiscoverFound" } $error.clear() $result write-Verbose " Done" }