Exchange – organisationsweit Weiterleitungen herausfinden

Es gibt einige Stellen, an denen Weiterleitungen eingerichtet sein können.
Patrick Grünauer hat das hier mal sehr gut zusammengefasst und mit 3 CmdLets lassen sie sich übersichtlich anzeigen.

ERGÄNZUNG: Grund dafür, dass ich versucht habe, herauszufinden, wo welche Weiterleitungen konfiguriert sind, war der Umstand, dass ein User meldete, dass Mails an einen abwesenden Kollegen immer automatisch an ein Funktionspostfach weitergeleitet werden. Ich konnte aber nirgends eine entsprechende Weiterleitung finden.
ABER: Es war ein OOF konfiguriert (nur intern). Reproduzierbar getestet ist es wirklich so, dass wenn der OOF (zumindest via Powershell-CmdLet von Serverseite aus) aktiviert ist, Mails weitergeleitet werden, wenn deaktiviert, dann nicht. Strange. Das Postfach ist schon uralt und wurde schon von Exchange 5.5 immer migriert. Mittlerweile ist es eine Exchange 2010-Umgebung.

Windows 10-Version via Powershell ermitteln

Folgende Zeile gibt die installierte Windows-Version aus. Also z.B. 1703 oder 1709, usw.
Zum Beispiel zur Verarbeitung in Scripten, mit denen man neu hinzugekommene Apps wieder runterwerfen kann…

(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" -Name ReleaseID).ReleaseId

Firefox-Einstellungen im Unternehmen verteilen

Schon vor einiger Zeit wurde ich damit mal konfrontiert und hatte keine so richtig saubere Lösung parat. Geschweige denn eine genaue Ahnung von der Reihenfolge und über welche Settings-Dateien die zahlreichen Einstellungen des Firefox beim Start importiert und gelesen werden. Geschweige denn wie Einstellungen so mitgegeben werden können, dass sie für den Benutzer unveränderbar sind.

Zuletzt war ich auf der Suche nach der elegantesten Möglichkeit, das Stammzertifikat einer internen Zertifizierungsstelle auf die Firefox-Installationen im Unternehmen zu verteilen. Bei meinen Recherchen wurde ich hier auf ein recht neues Feature aufmerksam (ab FF 49), das – einmal aktiviert – den Windows-Zertifikatsspeicher fragt, wenn eine SSL-verschlüsselte Seite  „Firefox-Einstellungen im Unternehmen verteilen“ weiterlesen

Windows Remote-Verwaltung via Powershell

Zwar schon ein paar Jahre alt, aber besonders die 1:n-Verwaltung ist immer noch sehr praktisch.

Auch die Desired State Configuration, die mit Powershell 4.0 gekommen ist, ist nützlich zur einheitlichen und identischen Vorbereitung von Servern, z.B. für identische Verzeichnisse, Rollen, Features, usw.

Exchange 2010 – aktuelle Anmeldungen herausfinden

Manoman…nicht alles wird einfacher mit neueren Versionen. Möchte man gern sehen, welche Benutzer sich innerhalb der letzten Stunde am Exchange-Server angemeldet haben, hilft folgendes, übersichtliches CmdLet:

Get-Mailbox -Resultsize Unlimited | Get-MailboxStatistics | where-object {$_.LastLogonTime -gt (get-date).AddHours(-1)} | select Displayname, LastLogonTime | Sort LastLogonTime

Oder folgendes:

Get-LogonStatistics -Server „SERVERNAME“ | Sort-Object -property UserName -unique | where-object {$_.LastAccessTime -gt (get-date).AddMinutes(-30)}

Aber Achtung – OWA-Zugriffe werden hier nicht angezeigt.

Windows-Versionen für Scripting

Die wohl vollständigste Liste der in Verwendung befindlichen Windows-Versionen, soeben wieder mal um ein Betriebssystem erweitert. 😉

for /f „tokens=1,2,3,4* delims= “ %%i in (‚ver‘) do set version=%%i %%j %%k %%l

if „%version%“ == „Microsoft Windows XP [Version“ (goto XP;)
if „%version%“ == „Microsoft Windows 2000 [Version“ (goto 2000;)
if „%version%“ == „Microsoft Windows [Version 5.2.3790]“ (goto 2003;)
if „%version%“ == „Microsoft Windows [Version 6.0.6000]“ (goto Vista;)
if „%version%“ == „Microsoft Windows [Version 6.0.6001]“ (goto Vista;)
if „%version%“ == „Microsoft Windows [Version 6.0.6002]“ (goto Vista;)
if „%version%“ == „Microsoft Windows [Version 6.1.7600]“ (goto Windows7;)
if „%version%“ == „Microsoft Windows [Version 6.1.7601]“ (goto Win7SP12008R2;)
if „%version%“ == „Microsoft Windows [Version 6.2.9200]“ (goto Windows8;)

Automatische WSUS Serverbereinigung mit Tasks und Skripten

Damit der WSUS-Bereinigungstask entfallen kann:

Automatische WSUS Serverbereinigung mit Tasks und Skripten » Bents Blog » Von Bent Schrader.

Es ist neben den o.g. Scripten der native SQL-Client und die sqlcmd.exe aus dem SQL-Featurepack erforderlich.

UPDATE: Mittlerweile gibt es eine aktuellere, bessere Variante, wie hier beschrieben.

Sleep ohne sleep.exe

@echo off

echo wscript.sleep 1000*15 >%temp%\sleep.vbs
cscript /nologo %temp%\sleep.vbs
erase %temp%\sleep.vbs

net use …

MSH>

Monad Shell – der mit Vista ausgelieferte Nachfolger der Command-Shell von NT-XP arbeitet vollständig objektorientiert und auf .NET-Basis. Werde mir dann mal bald ein Büchlein holen müssen.

Eine erste Vorstellung:
http://www.tecchannel.de/entwicklung/programmierung/435496/