Windows Server: Verwaiste Freigaben entfernen (Server Dienst startet nicht)

Zur Abwechslung heute mal wieder ein kleines Problem. Der „Server“-Dienst auf einem Windows Server 2012 R2 Fileserver lies sich nicht mehr starten, was zur Folge hatte, das keine der Freigaben mehr erreichbar war. Im Eventlog „Anwendung“ war nur diese Warnung zu finden: Quelle: Server Event-ID: 2511 Der Serverdienst konnte die Freigabe Freigabename nicht wiederherstellen, da das Verzeichnis D:\Home\Freigabe nicht mehr vorhanden ist. Führen Sie den Befehl „net share Freigabe /delete“ aus, um die Freigabe zu löschen oder um das Verzeichnis Mehr »

Tipp: Fehlerhafte GPO anhand der ID finden

Manchmal finden sich auf Clients oder Servern Fehler im Eventlog die auf fehlerhafte Gruppenrichtlinien (GPOs) hindeuten. Leider wird im EventLog nur die ID der GPO angezeigt, sodass die Suche nach der entsprechenden GPO schon etwas dauern kann: Die Arbeit kann man sich mit der PowerShell und den ActiveDirectory PowerShell SnapIns einfacher machen get-gpo -all | where {$_.id -match "XXXXXXX-XXXX-XXXX-B026-925CC1643B3X"} Das erspart zumindest die Suche nach der problematischen GPO.

Exchange Reporter 3.1 steht zum Download bereit

ich habe gerade die Version 3.1 des Exchange Reporters hochgeladen. Diesmal habe ich hauptsächlich Fehler behoben die sich trotz vieler Tests in verschiedenen Umgebungen eingeschlichen haben. Folgende Änderungen habe ich vorgenommen: Bugfixes O365report.ps1: Der Report lieferte nur die ersten 1000 Ergebnisse zurück, Dank Kaari behoben Mbxreport.ps1: Bug in der Auflistung der Limits behoben, wenn mehr als 1000 Postfächer in einer Datenbank gespeichert sind (Danke, Mario) Clientinfo.ps1: Abfrage der Outlook Versionen innerhalb des gewählten Intervalls Rightsreport.ps1: Verweigern Berechtigungen werden ausgefiltert (Danke, Mehr »

SMTP Roundtrip per PowerShell ermitteln

Hier mal wieder ein kleines Script aus der Reihe Quick and Dirty. Eigentlich ist das Script aus dem Hintergrund entstanden ein AntiSPAM Gateway zu überwachen, welches gern mal überlastet war und keine Mails mehr verarbeitet hatte. Leider stellten sich „Nur-Text“-Mails ohne Hyperlink oder sonstigem Content als nicht gerade aussagekräftig heraus, denn die wurden praktisch immer verarbeitet. Das Script sollte Alarm schlagen, wenn die Mails länger als eine gewisse Zeit im AntiSPAM Gateway hängen, also den SMTP Roundtrip messen. Es kam Mehr »

Benutzerkonten in verschachtelten Gruppen finden

Kennt noch jemand das Problem, oder geht das nur mir so? Ich stehe hin und wieder mal auf dem Schlauch: Irgendwo gibt es eine Verteilergruppe, die wiederum andere Verteilergruppen als Mitglieder enthält, wie hier im Beispiel zu sehen: In der Praxis gibt es dann meist Verteiler, wie in etwa „Finanzen“, darunter dann wieder „Finanzen – Europa“, „Finanzen – Amerika“ oder „Finanzen – Asien“. Innnerhalb des Unterverteilers findet man dann wieder weitere Verteiler, bis das Ganze dann irgendwie leicht undurchsichtig wird: Mehr »

Quick & Dirty: HP C7000 Blade Enclosure per PowerShell inventarisieren

Hier mal wieder ein kleines Script aus der Reihe Quick & Dirty. Wer HP Blade Enclosures einsetzt und schnell und ohne viel Aufwand eine Übersicht haben möchte, welche Blades in welchen Enclosures stecken, für den könnte das nachfolgende Script nützlich sein. Das Script fragt alle eingetragenen Blade Enclosures ab und listet die Blades je Enclosure auf (getestet mit C7000 G3). Dabei wird die iLO IP, Modell und Seriennummer, sowie Name und Bay des Blades aufgenommen und per Mail verschickt. Wer Mehr »

PowerShell Script zum Testen einer Maildomain

Zum Wochenende gibt es noch ein PowerShell Script mit dem eine Domain bei Mailproblemen getestet werden kann: Das Script liefert die MX, PTR, SPF und DMARC Einträge einer Domain und prüft ob eine der IPs auf einer Blacklist steht. Des weiteren wird geprüft ob der Port 25 (SMTP) erreichbar ist. Das Script wird einfach mit der zu prüfenden Domain als Parameter aufgerufen: .\Test-MailDomain.ps1 -Domainname frankysweb.de Hier kann das Script runtergeladen werden:

Benutzer remote zu Gruppen hinzufügen

Heute gibt es mal wieder ein nützliches PowerShell Script, mit dem remote Benutzer zu lokalen Gruppen auf Servern oder Rechnern hinzugefügt werden können. Das Script erwartet eine CSV Datei mit Rechnernamen und arbeitet dann die Liste ab. Die CSV Datei muss wie folgt formatiert sein: Ein Beispiel liegt dem Archiv bei. Die ersten 5 Zeilen des Scripts müssen entsprechend angepasst werden: Zeile 1 enthält den Active Directory Domain Namen, Zeile 2 den Benutzernamen der zur Gruppe in Zeile 3 hinzugefügt Mehr »

Script zum Testen von MX-Einträgen

Falls Ihr auch häufiger DNS Abfragen zu den MX Records bzw. SPF und Reverse Einträgen machen müsst, hilft vielleicht dieses kleine Script: Test-MXSettings.ps1 Das Script verfügt über ein paar Parameter, welches schnell alle Exchange akzeptierten Domains prüfen kann, oder auch eine beliebige Domain, auch ein DNS Server für die Abfrage lässt sich angeben. Folgende Parameter sind möglich: -Testdomain <Domainname>: Überprüft eine Domain -DNSServer <IP>: verwendet einen bestimmten DNS Server für die Abfrage (Standard ist der in Wndows eingestellte) -TestExchangeDomains (True/False): Mehr »

Exchange 2010/2013: Kalender eines Raumpostfachs mit EWS abfragen

Hier mal wieder in kleines Script aus der Quick&Dirty Ecke. Abfragen des Kalenders eines Raumpostfachs per EWS und Powershell. Das Script holt alle Kalendereinträge ab dem aktuellen Zeitpunkt bis 365 Tage in die Zukunft, bzw. maximal 200 Einträge. Die Ergebnisse werden in der Variable $results gespeichert und können dann weiter verarbeitet werden. $MailboxName = "Besprechungsraum@frankysweb.de" $EWSPath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" Add-Type -Path $EWSPath $version = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP2 $service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService($version) $service.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress,$MailboxName); $service.AutodiscoverUrl($mailboxName) $calendar = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Calendar) $calendarView = Mehr »