Archiv der Kategorie: IT

Datei-Änderungsdatum per Powershell ändern

Ich stand vor der Aufgabe, das „Zuletzt geändert“-Datum einer Datei zu ändern, da dieses bei einer einzigen Datei, warum und wie auch immer, der 30.09.2071 war.
Die Datei tauchte in allen Listen, wenn man nach Datum sortierte, stets ganz oben oder ganz unten auf, was den Kollegen einfach nur nervte.

Also schnell per Powershell die Dateieigenschaften angeschaut:

Get-ItemProperty -Path 'Dateipfad\Dateiname.Endung' | fl

Und WTF?

CreationTime : 05.10.2020 15:36:07
LastWriteTime : 30.09.2071 22:29:43
LastAccessTime : 28.01.2021 11:16:18

Da kann was nicht stimmen.

Als nächstes habe ich dann per

set-ItemProperty -Path 'Dateipfad\Dateiname.Endung' -Name LastWriteTime '2020-10-05 15:40:00'

LastWriteDate auf einen Zeitpunkt kurz hinter der Erstellung gesetzt und siehe da, der Benutzer kann nun die Datei auch richtig sortieren.

CreationTime : 05.10.2020 15:36:07
LastWriteTime : 05.10.2020 15:40:00
LastAccessTime : 28.01.2021 11:20:22

Konfiguration des Junk-E-Mail-Filters per GPO

Überall im Netz findet man eigentlich die Aussage, es reiche aus, die Option Benutzerkonfiguration > Richtlinien > Administrative Vorlagen > Microsoft Outlook (2016) > Outlook Optionen > Einstellungen > Junk-E-Mail > Pfad zur Liste ‚Sichere Absender‘ angeben zu aktivieren, um die Konfiguration des Junk-E-Mail-Filters vorzunehmen.

Dabei muss eine zeilengetrennte Text-Datei mit Domänen (angeführt vom @) oder einzelnen Adressen irgendwo zentral mit Benutzerzugriff abgelegt werden und schon sollten die Adressen auftauchen.

Tun sie jedoch nicht.

Anschließend dachte ich, die Lösung sei die Option Junk-E-Mail-Importliste überschreiben oder daran anfügen wäre die Lösung. Die Option kann jedoch nur aktiviert oder deaktiviert werden. Was zur Hölle, Microsoft? Man beantwortet keine Entweder-Oder-Frage mit Ja und Nein. Aktiviert man die Option, wird die lokal vom Benutzer selbst gepflegte Liste mit der zentral abgelegten Liste überschrieben. Deaktiviert man die Option, tut sich weiterhin nichts. Ugh.

Erst die Option Trigger zur Anwendung der Einstellungen für die Junk-E-Mail-Liste brachte die Erlösung und die in der Text-Datei definierten Domänen bzw. E-Mail-Adressen tauchten zusätzlich in der Junk-E-Mail-Liste der sicheren Absender im Outlook der User auf.

Microsoft, ey.

Auflistung aller Exchange Postfach-Regeln

Um alle Postfach-Regeln aller Exchange-Postfächer aufzulisten, einfach folgenden Einzeiler verwenden:

foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ForwardTo} | fl MailboxOwnerID,Name,ForwardTo >> C:\Pfad_zur_Logdatei.log }

kthxbye

Freenet.de und #5.0.0 smtp;550 5.0.0 X-Warning: Syntax error in header

Freenet.de akzeptiert, warum auch immer ey, keine E-Mails, bei denen im Header mehr als nur die E-Mail-Adresse auftaucht.

So werden z.B. E-Mails, zu dessen Empfänger-Adresse es einen Outlook-Kontakt gibt, nicht nur an die E-Mail-Adresse an sich, sondern an folgenden String geschickt:

Name des Kontakts in Outlook <'E-Mail-Adresse@freenet.de'>

Freenet.de hingegen mag das überhaupt nicht und lehnt solche E-Mails mit dem Fehler

Remote Server returned '554 5.0.0 < #5.0.0 smtp;550 5.0.0 X-Warning: Syntax error in header>'

einfach ab.

Hab in 15 Jahren noch nicht erlebt, dass dieser absolute Standard irgendwie Probleme macht. Oh man, ey.

Lenovo Tablet 10 WLAN-Probleme

Ich hab mir Mitte letzten Jahres irgendwann ein Lenovo Tablet 10 gekauft. Hauptsächlich, weil mir das wunderbare X230 zu groß und zu schwer war.

Vom Tablet selbst war ich ziemlich begeistert. 8GB RAM, 4-Core (Celeron) CPU, FullHD-Display und 128GB eMMC-Speicher für knapp 500€. Ist ein fairer Preis. Ein paar Sachen gibt es zwar, die nicht so super sind. Wie z.B. die etwas wackelige Tastatur-„Dock“, das etwas dunkle Display. Aber da kann man drüber hinwegsehen.

Wo ich hingegen nicht drüber hinwegsehen konnte, war die wirklich grausame WLAN-Performance der eingebauten Realtek 8822BE WLAN-Karte. Ständiger Verlust der WLAN-Verbindung, sodass nur ein Deaktivieren und erneutes Aktivieren der Verbindung in der Systemsteuerung half.
Absolut unterirdische Übertragungsrate. Denn trotz angezeigter Verbindung von 520 MBit/s, gingen ganze 2 bis 3 MByte/s netto über die Leitung. Ganz zu schweige von den immer grauenvollen Pingzeiten, die so schlecht waren, dass eine Verbindung zu einem lokalen RDP-Host keinen Spaß mehr machte.

Ich habe so ziemlich alle unterschiedlichen Treiber ausprobiert, die ich zu der Realtek-Karte im Netz finden konnte. Mal mit einem kleinen Erfolg, oft wurde es jedoch schlimmer.

Bei meinen Internetrecherchen zur FRU der Realtek-Karte stieß ich dann irgendwie auf die offizielle Lenovo partslookup-Seite und fand heraus, dass neben der Realtek-Karte auch Intel-Karte (FRU: 01AX768) für das Tablet 10 gibt.

Also eBay angeworfen und zum Glück einen Händler aus Deutschland gefunden, der genau die Karte für 10€ inkl. Versand verkauft.

Das Tablet 10 dann zu öffnen war dann auch deutlich einfacher als es im HMM zu vermuten war. Die komplette Rückseite ließ sich mit einem weichen Plek hinter der Plastikumrandung des Displays ohne irgendwelche verbindenden Kabel entfernen.

Nach dem Tausch der WLAN-Karte hab ich nun keinerlei Probleme mehr. Als nächstes würde ich noch probieren, den leeren WAN-Platz eventuell mit einer M.2 3042-SSD, die, falls sie nicht passen oder funktionieren sollte, in meinen PC wandern wird.

3Ware 9650SE Passthrough

Um an einem alten 3Ware 9650SE, in meinem Fall in -12ML, so etwas wie Passthrough oder einen HBA-Mode zu aktivieren, muss im CLI folgender Befehl abgesetzt werden:

/cx* set exportjbod=on

*x = Controllernummer

Es ist zwar kein „richtiger“ Passthrough, da sich die einzelnen HDDs noch als an einem RAID-Controller in Windows melden, was dann z.B. auch das Auslesen der Seriennummer unmöglich macht, jedoch kann ich die HDDs an jedem anderen System lesen und auch sonst verhält sich der Storage-Pool so, als würden die HDDs über einen „normalen“ HBA angeschlossen sein.

kthxbye

AD-Benutzer mit bestimmten Text in der Beschreibung finden

Weil ja niemand die AD-Beschreibung aktualisiert und somit da sehr sehr oft irgendwann Quatsch drin steht, hier eine Möglichkeit, wie man alle AD-User mit einem bestimmten Text in der Beschreibung finden kann:

Get-ADUser -Properties Description -Filter 'Description -like "*Text nach dem gesucht wird*"' -SearchBase 'DC=DOMAIN, DC=SUFFIX' |
select name,distinguishedname,description |
Export-Csv -path C:\Export.csv -NoTypeInformation

kthxbye

Aufräumarbeiten im Active Directory

Da in unserem AD jede Menge alter Quatsch steht und wir bei unserer Remote-Drucker-Lösung so langsam an die Anzahl der maximalen Lizenzen kamen, musste ein wenig aufgeräumt werden.

Für erste Arbeiten verwende ich dabei mehrere Powershell-Einzeiler:

1. Auflistung aller deaktivierten Benutzer-Accounts:

Search-ADAccount –AccountDisabled –UsersOnly –ResultPageSize 2000 –ResultSetSize $null | Select-Object SamAccountName, DistinguishedName | Export-CSV “C:\deaktivierte_benutzer.CSV” -NoTypeInformation

2. Auflistung aller abgelaufenen Benutzer-Accounts:

Search-ADAccount -AccountExpired -UsersOnly -ResultPageSize 2000 -resultSetSize $null| Select-Object Name, SamAccountName, DistinguishedName | Export-CSV “C:\abgelaufene_benutzer.CSV” -NoTypeInformation

3. Deaktivierung aller abgelaufenen Accounts

Search-ADAccount -AccountExpired -UsersOnly | Where-Object {$_.Enabled} | Disable-ADAccount

Exchange 2016 Event ID 5, MSExchange Control Panel

Hallo Fans,

Auf unserem Exchange-Server konnte ein User-Postfach einfach nicht per ECP bearbeitet werden.
Bei einem Doppelklick auf den Punkt „Postfachstellvertretung“ erschien immer die Fehlermeldung, dass der Vorgang nicht abgeschlossen werden konnte und man es später versuchen sollte.

Im Anwendungs-Ereignisprotokoll des Exchange-Server wurde folgendes geloggt:

Current user: ‚domain/ou/oe/user‘
Web service call ‚https://servername:444/ecp/DDI/DDIService.svc/GetObjectOnDemand?ActivityCorrelationID=0b1ac686-c5ee-bf04-2f7b-f77a874ed707&schema=MailboxService&msExchEcpCanary=fc-h6Le6ckaS–Ov-TAbhOBF1-bnHtcIqFnc6gMa2sC2slXNe7fSsQqZV4Z2ddVpQFIRK7gxnwE.(https://servername/ecp/DDI/DDIService.svc/GetObjectOnDemand?ActivityCorrelationID=0b1ac686-c5ee-bf04-2f7b-f77a874ed707&schema=MailboxService&msExchEcpCanary=fc-h6Le6ckaS–Ov-TAbhOBF1-bnHtcIqFnc6gMa2sC2slXNe7fSsQqZV4Z2ddVpQFIRK7gxnwE.)‘ failed with the following error:
Microsoft.Exchange.Data.Directory.Recipient.NonUniqueRecipientException: Es wurden mehrere Objekte mit der SID S-1-5-32-544 gefunden.

Nach kurzer Googlesuche fand diesen Blogpost bei msitpros, wobei die Fehlermeldung / SID des Users leicht abwich.

Über die Microsoft-Support-Seite fand ich dann heraus, dass die SID S-1-5-32-544 zur Gruppe „Vordefiniert\Administratoren“ gehört.

Ich checkte das betroffene Postfach, ob die Gruppe „Vordefiniert\Administratoren“ irgendwelche Berechtigungen hatte und siehe da:

Also per

Remove-MailboxPermission -Identity Postfach -user vordefiniert\administratoren -AccessRights

die entsprechenden Berechtigungen entfernt und es kam anschließend im ECP zu keiner Fehlermeldung mehr. Hurra. \o/

DHCP-Reservierung kann nicht erstellt werden

Wenn eine DHCP-Reservierung nicht erstellt werden kann, weil die angegebene IP- oder Hardwareadresse bereits von einem anderen Client verwendet wird, obwohl weder IP- noch MAC-Adresse vorhanden sind, sollte sich der DHCP-Server mal genauer mit NETSH angeschaut werden.

Man dumpt also einfach mal den kompletten DHCP-Server mit

netsh dhcp server dump > c:\dhcp_dump.log

in eine Textdatei und sucht nun nach der IP- bzw. MAC-Adresse. Mit hoher Wahrscheinlichkeit stellt man nun fest, dass da totaler Mumpitz drinsteht.
Wenn man nun die fehlerhafte Reservierung über das MMC-Snapin löscht und neu angelegt, sollte es keine Probleme mehr geben. (: