Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
    • Ehrenamt
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes Typ-2 – Erläuterung
    • Diabetes melitus – Büchersammlung
    • Diabetes melitus – Podcasts
    • Medikament – Metformin
    • IVOM – Präzise Medikamentengabe ins Auge
      • Medikament – Eylea (Aflibercept)
      • Medikament – Lucentis (Ranibizumab )
      • Medikament – Vabysmo (Faricimab)
    • Medikament – Forxiga (Dapagliflozin)
  • Disclaimer
  • Toggle search form

Exchange – Besprechungsanfragen zentral entfernen

Posted on 3. März 20193. März 2019 By Daniel Lensing Keine Kommentare zu Exchange – Besprechungsanfragen zentral entfernen

Es passiert immer mal wieder, dass Mitarbeiter Firmen verlassen oder eine längere Zeit nicht verfügbar sind. Entsprechend sind aber noch Kollegen und Besprechungsräume durch Termin-Serien blockiert. So kann es sinnvoll sein, diese zu entfernen.

Über den folgenden Befehl werden alle Termine ab einschließlich dem heutigen Datum entfernt:

Remove-CalendarEvents -Identity Leaver@testdomain.onmicrosoft.com -CancelOrganizedMeetings

Dieses funktioniert allerdings nur, wenn die Identität noch nicht gelöscht wurde.

Es gibt auch die Möglichkeit ein Start-Datum und eine Zeitspanne zu definieren. Damit können zum Beispiel alle Termin vom 01.04.2019 innerhalb der kommenden 90 Tage gelöscht werden:

Remove-CalendarEvents -Identity Sabatical@testdomain.onmicrosoft.com -CancelOrganizedMeetings -QueryStartDate 4-1-2019 -QueryWindowInDays 90

So kann der Befehl zum Beispiel für „Sabatical“ oder Mutterschutz-Zeiträume genutzt werden

Über das Argument „-PreviewOnly“ ist auch eine Vorschau möglich. Diese kann zum Beispiel dem Manager des Mitarbeiters zur Verfügung gestellt werden. Damit ist eine Übergabe von Terminen leichter zu koordinieren.

Dieser Befehlssatz kann unter Nutzung von Exchange 2019 und Office 365 angewandt werden.
Genauere Informationen sind bei Microsoft zu finden.

Exchange Server, Office 365

Zertifizierung – Labs in Microsoft Prüfungen

Posted on 2. März 20192. März 2019 By Daniel Lensing Keine Kommentare zu Zertifizierung – Labs in Microsoft Prüfungen

Bei technischen Prüfungen aus dem Hause Microsoft stehen einem unterschiedliche Arten von Beantwortungsmöglichkeiten wie zum Beispiel Multiple Choice zur Verfügung.

Bei den Prüfungen für Azure sind nun auch „Labs“ hinzugekommen. Man erhält mehrere Aufgaben die innerhalb des Azure-Portals gelöst werden müssen. Zur Zeit sind die Prüfungen nur in englischer Straße abzulegen. Dabei ist zu beachten, dass die bereitgestellte Umgebung mit einem englischen Tastatur-Layout ausgestattet ist.

Somit ist es wichtig, dass das Prüfungscenter eine Tastatur-Schablone mit dem erforderlichen Layout zur Verfügung stellt. Ich persönlich stelle mir mit der zur Prüfung bereitgelegten „Löschtafel“ eine Liste selber zur Verfügung. Über das Eingabefeld des Benutzernamens kann recht schnell die Tastaturbelegung geprüft werden.

Generell läuft keine besondere Zeiteinschränkung für die Labs. Aktuell werden ca. 70% vor und 30% der herkömmlichen Frageformen nach den Labs. Die Einteilung der Prüfungszeit liegt bei einem selber. Auch hier nutze ich die Löschtafel, so dass ich mir die Anzahl der beantworteten Fragen notiere. Das gibt mir ein ganzes Stück mehr Sicherheit bei der Zeiteinteilung.

Generell kenne ich allerdings die Situation Prüfungen in der entsprechenden Umgebung zu absolvieren. In den Zertifizierungen für den „Microsoft Office Specialist“ arbeitet im jeweiligen Office-Produkt und kann „alle“ Funktionen der Applikationen nutzen. Die Hilfe ist selbstverständlich deaktiviert.

Ich finde diese Art der Wissensabfrage sehr gut, da man sein Wissen viel besser darstellen kann und zusätzlich wird die Wissenserlangung über Braindumps erschwert. Was mir dabei immer wieder auffällt, ist die Möglichkeit sich in den Funktionen zu verlieren und somit in ein potentielles Zeitproblem zu geraten.

Zur Erläuterung: Die Löschtafel ist ein eingeschweißtes Blatt, welches mit einem wasserlöslichen Stift beschrieben wird. Dieses wird vor der Prüfung vom Testcenter-Leiter zur Verfügung gestellt und nach dieser wieder übergeben.

Zertifizierung

Telekom Mobilfunk – 500 MB Datenvolumen im März

Posted on 1. März 201912. Dezember 2023 By Daniel Lensing Keine Kommentare zu Telekom Mobilfunk – 500 MB Datenvolumen im März

Im Februar 2019 wurden Nutzern der „Mein Magenta“-App des Mobilfunkanbieters Deutsche Telekom AG 300 MB Datenvolumen geschenkt. Für den März wurde dieses noch einmal aufgestockt. So werden nun 500 MB zusätzliches HighSpeed-Internet angeboten.

Diese Aufstockung gilt auch für die Prepaid-Reihe Xtra. Es muss allerdings bereits ein Datentarif gebucht sein. Altverträge ohne festes Datenkontigent können von diesem Angebot nicht partizipieren.

App für Android-Nutzer:

MeinMagenta: Handy & Festnetz
MeinMagenta: Handy & Festnetz
Download QR-Code
MeinMagenta: Handy & Festnetz
Entwickler: Telekom Deutschland GmbH
Preis: Kostenlos

App für iPhone-Nutzer

MeinMagenta: Handy & Festnetz
MeinMagenta: Handy & Festnetz
Download QR-Code
MeinMagenta: Handy & Festnetz
Entwickler: Telekom Deutschland GmbH
Preis: Kostenlos

Wenn man sich die App nicht auf sein Handy installieren möchte, kann man die Vergrößerung des Volumen auch über das Kundencenter im Internet buchen.

Am 31.03. endet die Aktion und nicht verbrauchtes Volumen verfällt. Generell wird nach Aktivierung des Daten-Geschenks erst dieses Kontingent genutzt und anschließend auf das HighSpeed-Volumen des Vertrages zugegriffen.

 

Mobilfunk

Powershell: Abfrage des AD-User-Passwortalters

Posted on 19. Februar 201919. Februar 2019 By Daniel Lensing Keine Kommentare zu Powershell: Abfrage des AD-User-Passwortalters

Im Rahmen einer Entstörung von AD-Benutzeraccounts benötigte ich die aktuelle Passwort-Daten beim Anruf der Benutzer. Dazu habe ich mir ein kleines Skript geschrieben. Dieses berücksichtigt die folgenden Szenarien:

  • AD-Benutzer gibt es nicht
  • AD-Benutzer ist deaktiviert
  • AD-Benutzer hat ein Ablaufdatum und dieses ist überschritten
  • AD-Benutzer muss sein Kennwort bei der nächsten Anmeldung ändern
  • AD-Benutzer hat keinen Passwort-Ablauf
  • AD-Benutzer ist gesperrt

Wenn dieses alles nicht zutrifft werden folgende 2 Definitionen zur Berechnung des Passwortalters herangezogen:

  • AD-Benutzer nutzt die Default Domain Policy
  • AD-Benutzer nutzt eine Fine-grained Password Policy
Import-Module ActiveDirectory -Force
 
If ($args)
{
$Userlogin = $args[0]
}
 
else
 
{
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
 
$form = New-Object System.Windows.Forms.Form
$form.Text = 'Passwort-Display'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'
 
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = 'OK'
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)
 
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Point(150,120)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = 'Cancel'
$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $CancelButton
$form.Controls.Add($CancelButton)
 
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Bitte sAMAccountName eingeben:'
$form.Controls.Add($label)
 
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Location = New-Object System.Drawing.Point(10,40)
$textBox.Size = New-Object System.Drawing.Size(260,20)
$form.Controls.Add($textBox)
 
$form.Topmost = $true
 
$form.Add_Shown({$textBox.Select()})
$result = $form.ShowDialog()
 
if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
    $Userlogin = $textBox.Text
}
 
if ($result -eq [System.Windows.Forms.DialogResult]::Cancel)
{
    exit
}
 
}
 
$Usercheck = Get-Aduser -filter {samaccountname -eq $userlogin}
 
If ($usercheck -eq $NULL)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Der Benutzer existiert nicht.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
$employee = Get-AdUser $Userlogin -Properties enabled,PasswordNeverExpires,PasswordLastSet,Displayname,LockedOut,"msDS-UserPasswordExpiryTimeComputed",AccountExpirationDate
 
If ($employee.enabled -like "False")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer "+$employee.displayname+" ist deaktiviert","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
If (($employee.AccountExpirationDate) -eq $null)
{
}
else
{
 
$Ablaufdatum = ((get-date) - ($employee.AccountExpirationDate))
$Ablauftage=$Ablaufdatum.days
 
If ($Ablauftage -gt "0")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+ "Ablaufdatum des Accounts: "+$employee.AccountExpirationDate,"User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
}
 
 
If ($employee.PasswordLastSet -eq $null)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Das Passwort des Accounts muss bei der nächsten Anmeldung geändert werden.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
If ($employee.passwordneverexpires -like "True")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Das Passwort des Accounts läuft nicht ab.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
If ($employee.LockedOut -like "True")
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Der Account ist gesperrt.","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Error)
exit
}
 
$FGPP=(Get-ADUserResultantPasswordPolicy $Userlogin)
 
If($fgpp.name -eq $null) 
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$expireDate=((Get-adUser($Userlogin) -Properties PassWordLastSet).PasswordLastSet + (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Ticks)
$daysleft=($expireDate-(get-date)).Days
 
if($daysleft-le "0")
 
{
$daysnegative =-$daysleft
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: Default Domain Policy `n`n"+"Das Passwort ist seit "+<span style="display: inline !important; float: none; background-color: transparent; color: #2b2b2b; cursor: text; font-family: 'Philosopher',sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">$daysnegative</span>+" Tagen abgelaufen. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Warning)
}
 
else{
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: Default Domain Policy `n`n"+"Das Passwort muss in "+$daysleft+" Tagen geändert werden. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Information)
}
exit
}
 
else{
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$expireDate=((Get-adUser($Userlogin) -Properties PassWordLastSet).PasswordLastSet + (Get-ADUserResultantPasswordPolicy -Identity $Userlogin).MaxPasswordAge.Ticks)
$daysleft=($expireDate-(get-date)).Days
 
if($daysleft-le "0")
 
{
$daysnegative =-$daysleft
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: "+$fgpp.Name+" `n`n"+"Das Passwort ist seit "+$daysnegative+" Tagen abgelaufen. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Warning)
}
 
else{
[System.Windows.Forms.MessageBox]::Show("Benutzer: "+$employee.displayname+"  `n`n"+"Regelwerk: "+$fgpp.Name+" `n`n"+"Das Passwort muss in "+$daysleft+" Tagen geändert werden. `n`n"+"Genauer Zeitstempel: "+$expireDate+"","User " +$Userlogin,0,[System.Windows.Forms.MessageBoxIcon]::Information)
}
exit

Damit die Daten ordnungsgemäß abgefragt werden können, benötigt der Ausführende die Leseberechtigungen auf den Container „Password Setting Objects“ im System-Ordner der Domäne.

Das Skript kann per GUI sowie per Skript gestartet werden.

Powershell

Excel – Zellen mit Inhalt zählen

Posted on 15. Februar 201915. Februar 2019 By Daniel Lensing Keine Kommentare zu Excel – Zellen mit Inhalt zählen

Im Rahmen einer Konfigurationsanpassung bei NTFS-Rechten musste festgestellt werden, in welchen Ordnerebenen Änderungen vorgenommen werden müssen. Nach der Ermittlung der Ordnerstruktur in einer Log-Datei habe ich diese in Excel importiert. Zur Erkennung der Ebenen habe ich die Standard-Funktionalität „Text in Spalten“ genutzt. Entsprechend wurden mir die Pfade in den Spalten verteilt.

Die Zählung dieser konnte ich mit der folgenden Formel realisieren:

=ZÄHLENWENN(C2:M2;“*“)

Mit „C2:M2“ sind die Zellen in der Zeile 2 gemeint und somit der Ermittlungsbereich. Durch „*“ wird definiert, dass die Zelle mindestens 1 Zeichen beinhaltet.

Selbstverständlich ist dieses auch mit Spalten möglich. Hier ist ein Beispiel abgebildet:

=ZÄHLENWENN(A2:A9;“*“)

Mit „A2:A9“ sind die Zellen in der Spalte A gemeint.

Eine weitere Funktionalität ist das Zählen definierter Begriffe. Dazu muss das Sternchen in der Formel gegen das gewünschte Wort getauscht werden.

Weitere Informationen zur Funktion „ZÄHLENWENN“ findet man bei Microsoft.

Office

Internet Explorer – Zeichenbegrenzung bei Proxy-Bypass-Adressen

Posted on 6. Februar 20196. Februar 2019 By Daniel Lensing Keine Kommentare zu Internet Explorer – Zeichenbegrenzung bei Proxy-Bypass-Adressen

Seit ich in der IT tätig bin, kenne ich die Proxy-Ausnahmen im Internet Explorer. In der frühen Vergangenheit haben viele auf sogenannte PAC-Dateien umgestiegen. Dabei wir die Steuerung in eine Datei ausgelagert, die um einiges flexibler ist als das starre Konstrukt in der Applikation selber.

Nun zum eigentlichen Thema zurück:
Bei neuen Benutzerprofilen fiel auf, dass das komplette Proxy-Setting beim Öffnen des Browsers gelöscht wird. Somit war für den Kunden kein Internetzugriff möglich. Bei vorhandenen Profilen trat dieses Problem nicht auf. Wir konnten uns dieses im ersten Moment nicht erklären. Nach einigen Testreihen fiel uns auf, dass die vorhandene Proxy-Bypass-Liste nicht mit der aktuell in der Verteilung befindlichen Sammlung übereinstimmt.

Wir stellten fest, dass nach dem Start des Internet Explorers scheinbar auf eine alte Liste zurückgegriffen wird. Aus der Vergangenheit wusste ist, dass der Browser eine Speicherung von Netzwerkdaten der letzten erfolgreichen Verbindung vorhält. Dieses war auch an dem Verhalten bei vorhanden Profilen erkennbar. Die selbe Technik wurde bei den neuen Profilen angewandt. Allerdings gab es hier nur eine gespeicherte „erfolgreiche“ Verbindung ohne Proxy-Einstellungen. Aus diesem Grund sah es leider so aus, als ob beim Start des Browsers Internet Explorer die Proxy-Daten gelöscht werden.

Das eigentliche Problem bestand in der Anzahl der verteilten Proxyausnahmen. Im Laufe der Zeit wurden immer wieder Adressen hinzugefügt und wir kamen über die Grenze von 2064 Zeichen. Eine Prüfung ob wir ein Problem mit 2048 Zeichen hatten, wurde vorgenommen. Dass einem aber eine entsprechend unübliche Zahl ein Problem verursacht, war mir noch nicht bekannt.

Den genauen Sachverhalt ist aus diesem Microsoft-Artikel zu entnehmen.

Software, Windows 10, Windows 7, Windows 8.1

Exchange / O365 – Postmaster-Adresse ändern

Posted on 5. Februar 20195. Februar 2019 By Daniel Lensing 2 Kommentare zu Exchange / O365 – Postmaster-Adresse ändern

Ob in einem lokalen Exchange-System oder über Office 365 hat jede Verbundinstallation einen sogenannten „Postmaster“. Dieser versendet die Systemnachrichten. Als führende Bespiele sind dort die Meldungen zu nennen, dass es eine E-Mail-Adresse im System nicht gibt oder man gegen ein Regelwerk der Instanz verstößt.

Bei der Einrichtung wird der Postmaster auf die erste zu definierende Domain gebunden. Dieses kann bei lokalen Installationen als Referenz „postmaster@domain.local“ sein oder in der O365-Umgebung „postmaster@tennant.onmicrosoft.com“. Es handelt sich dabei um die „Standard akzeptierte Domäne“ (Default accepted domain). Dieses ist weder repräsentativ noch möchte man vielleicht diese Informationen versenden.

Über den folgenden Befehl ist dieses zu verändern:

Set-TransportConfig -ExternalPostmasterAddress <postmaster address>

Über die jeweilige PowerShell ist die Adresse nach den eigenen Ansprüchen anzuassen.

Exchange Server, Office 365

Seitennummerierung der Beiträge

Vorherige 1 … 36 37 38 … 158 Nächste

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Allgemein (1)
  • Client (247)
    • Android (9)
    • Fedora (Linux) (5)
    • iOS (7)
    • Mac OS X (6)
    • Peripherie (5)
    • Ubuntu (Linux) (9)
    • Windows 10 (63)
    • Windows 11 (32)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (60)
    • Auto (20)
    • Bahn (20)
    • Beinarbeit (6)
    • Flugzeug (5)
    • Zweirad (15)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (223)
    • #t2dhero (61)
    • Arbeitszimmer (39)
    • Audio (22)
    • Film / Kino (7)
    • Gedanken (83)
    • Gesundheit (42)
    • Internet (8)
    • Lebensmittel & Essen (24)
    • Lesestoff (21)
    • Sport (11)
    • Veranstaltung (4)
  • Lehren & Lernen (51)
    • Forschung (3)
    • Konferenzen (4)
    • Lehre (2)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (336)
    • Android-Apps (29)
    • Eigene Tools (13)
    • iOS-Apps (8)
    • Office (90)
    • Patchday+Updates (77)
    • Software (155)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (98)
    • AutoIT (2)
    • KiXtart (2)
    • PHP (3)
    • Power Automate (1)
    • Powershell (67)
    • VB.NET (11)
    • VBA (10)
    • VBS (10)
  • Server (166)
    • Citrix XenServer (2)
    • Exchange Server (27)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (92)
    • Windows Server 2012 (45)
    • Windows Server 2016 (16)
    • Windows Server 2019 (23)
    • Windows Server 2022 (22)
    • Windows Server 2025 (15)
  • Telekommunikation (40)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (25)
  • Verkauf & Verlosung (1)
  • Web-Installationen (37)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (10)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2026 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme