In wenigen Tagen steigt der SysAdminDay (System Administrator Appreciation Day) 2017 in Leipzig. Es gibt noch freie Plätze für die kostenlose Veranstaltung, also meldet euch an:
Wir sehen uns am Freitag!
Schreibe einen Kommentar...Blog von Haiko Hertes zu allen Themen rund um Microsoft, Cloud und Datacenter
In wenigen Tagen steigt der SysAdminDay (System Administrator Appreciation Day) 2017 in Leipzig. Es gibt noch freie Plätze für die kostenlose Veranstaltung, also meldet euch an:
Wir sehen uns am Freitag!
Schreibe einen Kommentar...Der neuen Praxis folgenden hat Microsoft heute die Neuauszeichnungen und Verlängerungen für den MVP-Award bekannt gegeben – und ich habe es wieder geschafft! Danke auch an meine Leser – ihr seid ein Teil dieser Geschichte.
Schreibe einen Kommentar...Heute bin ich über folgendes Problem gestolpert: Bei einem neuen Mitarbeiter enthielt die E-Mail-Adresse im Office 365 einen Unterstrich (“Underscore”) an erster Stelle:
(Zusätzlich wurde nicht die reguläre Domäne sondern eine “@*.onmicrosoft.com” verwendet…)
Die Benutzer werden mittels “Azure AD Connect” vom lokalen Active Directory nach Azure AD synchronisiert und bilden dort die Grundlage für die Office 365 Benutzer. Daher kann man die E-Mail-Adressen auch nicht online ändern, sondern nur on-premise. Im lokalen AD war aber auf den ersten Blick alles in Ordnung:
Nach kurzer Recherche fand ich einen Microsoft KB Artikel, der mich auf die Lösung brachte:
In this scenario, after directory synchronization is run, the special character is replaced by an underscore character. Therefore, the user’s Office 365 email address contains an underscore character instead of the special character.
Dabei wird eine Liste mit “verbotenen” Zeichen aufgeführt (die merkwürdigerweise auch das @-Zeichen enthält…), zu denen auch das Leerzeichen gehört. Bezogen ist das ganze auf die AD-Attribute “mail” und “proxyAddresses”. “Mail” war in Ordnung, aber “proxyAddresses”…
…nicht! Hier war ein Leerzeichen zwischen “SMTP:” und der eigentlichen E-Mailadresse. Nach dem ich dieses entfernt hatte und schnell noch den DirSync mit
Start-ADSyncSyncCycle -PolicyType Delta
angestoßen hatte, war der Benutzer mit seiner korrekten E-Mail-Adresse in Office 365 vorhanden!
1 Kommentar
Wie schon vor zwei Jahren möchte ich auch in diesem Jahr zum internationalen "System Administrator Appreciation Day", kurz Sysadminday, einladen. Zum wiederholten Mal wird es zu diesem Anlass in Leipzig am 28.07.2017 eine kostenfreie Veranstaltung geben. Ab ca. 14:00 Uhr starten wir mit interessanten Fachvorträgen, ehe wir es uns dann gemeinsam bei Buffet und kühlen Getränken gut gehen lassen werden. Wer erst später dazu stoßen kann ist natürlich genauso gerne gesehen – geplant ist, dass die Veranstaltung bis ca. 21:00 gehen wird. Die Veranstaltung wird durch einige Sponsoren ermöglicht, darunter Microsoft Deutschland , Arvato Systems Perdata GmbH sowie Altaro. Alle Systemadministratoren, IT-Professionals, Entscheider sowie alle weiteren Mitarbeiter der verschiedenen IT-Bereiche sind recht herzlich zu dieser Veranstaltung eingeladen!
Informationen und Anmeldung unter https://www.sysadminday.it – Wir sehen und in Leipzig!
Social Media Events zum Teilen:
https://www.meetup.com/de-DE/wsugle/events/240618027
https://www.xing.com/events/sysadminday-2017-leipzig-1831072
https://www.facebook.com/events/441706699540213
Hat man häufig wechselnde Benutzer in seinem Active Directory (wie z.B. bei mir an der Hochschule, oder auch bei Lehrlingen, Werkstudenten oder ähnlichem), dann ist es sinnvoll, die Benutzerkonten dieser Personenkreise von vornherein mit einem Ablaufdatum zu versehen:
Ein mögliches Problem hierbei ist, dass die Benutzer erst NACH dem Ablauf feststellen, dass sie nicht mehr arbeiten können und sich bis zur Verlängerung durch einen Admin daran auch nichts ändert. Also wäre es doch schön, wenn die Benutzer schon vor dem Ablaufdatum daran erinnert werden, um sich zeitnah zu melden. Eine mögliche Lösung hierfür liegt wie so oft in einem PowerShell-Skript.
Der Kern des Skriptes ist die Suche nach den relevanten Accounts. Dazu dient “Search-ADAccount”:
Search-ADAccount -AccountExpiring -TimeSpan „32“
Diese Abfrage liefert alle Accounts, die in den nächsten 32 Tagen ablaufen (32 habe ich hier gewählt, um bei monatlicher Ausführung des Skriptes niemanden zu “vergessen”.
Der Rest ist dann eher schmückendes Beiwerk. Mit einer Schleife wird über alle entsprechenden Benutzer iteriert und jedem eine passende E-Mail gesendet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Import-Module ActiveDirectory # Werte wie gewünscht anpassen: [int]$AnzahlTage = 32 [TimeSpan]$Zeitraum = New-TimeSpan -Days $AnzahlTage [string]$subject = "Ihr Benutzeraccount wird in den nächsten 31 Tagen ablaufen!" [string]$MailSender = "ich@domain.de" [string]$MailServer = "mail.server.com" ForEach($ExpiringUser in (Search-ADAccount -AccountExpiring -TimeSpan $Zeitraum | Get-ADObject -Properties samaccountname,mail,accountExpires)) { $ExpDate = [datetime]::FromFileTime($($ExpiringUser.accountExpires)) $body = "Werter Benutzer!`r `r Ihr Benutzerkonto `"$($ExpiringUser.samaccountname)`" wird in den kommenden 31 Tagen ablaufen. Das genaue Ablaufdatum lautet:`r `r $(Get-Date ($ExpDate.AddDays(-1)) -Format "dd.MM.yyyy")`r `r Mit freundlichen Grüßen,`r Ihre IT-Abteilung" Send-MailMessage -From $MailSender -To $ExpiringUser.mail -Subject $subject -Body $body -SmtpServer $MailServer -Encoding UTF8 -Priority High -Bcc $MailSender } |
Das war es dann auch schon. Viel Spaß beim Adaptieren…
Das vollständige Skript kann auch hier heruntergeladen werden:
BenutzerÜberAblaufendesKontoInformieren.ps1
Schreibe einen Kommentar...Wenn man mit Azure AD Sync arbeitet und einen neuen Mitarbeiter im lokalen on-premise Active Directory anlegt, dann kann es einem passieren, dass dieser im Office 365 Portal eine *.onmicrosoft.com E-Mail-Adresse als primäre Mailadresse bekommt, selbst wenn man im AD-Konto die richtige Adresse eingetragen hat:
Das lässt sich über das Office 365 Admin-Portal auch nicht ändern, da der Benutzer eben aus dem lokalen AD synchronisiert wird:
Der Trick besteht darin, im lokalen AD das Attribute “proxyAddresses” zu erweitern (entweder ist es leer oder es enthält bereits einen Eintrag “x500:/o=…”).
Der neue Eintrag muss mit “SMTP:” (Großbuchstaben und den Doppelpunkt nicht vergessen) gefolgt von der gewünschten E-Mail-Adresse (ohne Leerzeichen) bestehen:
Nach der nächsten Synchronisierung sollte es dann auch in Office 365 passen! Viel Spaß damit…
Nachtrag: In meinem Fall existiert kein on-premise Exchange Server! Wenn ihr einen solchen doch habt, dann verändert ihr mit der Änderung des AD-Attributes natürlich auch dort die Mailadresse…
5 CommentsBei der Frage, ob ein Server (oder auch Client) noch etwas mehr RAM vertragen kann, stellt sich oft die Frage, wieviel RAM dann aktuell in wie vielen Modulen verbaut ist und wieviele Slots noch frei sind. Natürlich gibt es dazu auch bereits grafische Werkzeuge, die das können, aber spätestens, wenn mehrere Maschinen (ggf. auch Core-Server ohne GUI) abgefragt werden sollen, kann die PowerShell ihre Stärken ausspielen. Daher habe ich ein kleines Skript gebaut, welches diese Aufgabe erfüllt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [Cmdletbinding()] Param( [string]$Computername = "localhost" ) cls $PysicalMemory = Get-WmiObject -class "win32_physicalmemory" -namespace "root\CIMV2" -ComputerName $Computername Write-Host "Memory Modules:" -ForegroundColor Green $PysicalMemory | Format-Table Tag,BankLabel,@{n="Capacity(GB)";e={$_.Capacity/1GB}},Manufacturer,PartNumber,Speed -AutoSize Write-Host "Total Memory:" -ForegroundColor Green Write-Host "$((($PysicalMemory).Capacity | Measure-Object -Sum).Sum/1GB)GB" $TotalSlots = ((Get-WmiObject -Class "win32_PhysicalMemoryArray" -namespace "root\CIMV2" -ComputerName $Computername).MemoryDevices | Measure-Object -Sum).Sum Write-Host "`nTotal Memory Slots:" -ForegroundColor Green Write-Host $TotalSlots $UsedSlots = (($PysicalMemory) | Measure-Object).Count Write-Host "`nUsed Memory Slots:" -ForegroundColor Green Write-Host $UsedSlots If($UsedSlots -eq $TotalSlots) { Write-Host "All memory slots are filled up, none is empty!" -ForegroundColor Yellow } |
Die Ausgabe sieht dann etwa so aus:
Auf meinem Notebook mit nur zwei RAM-Slots (beide belegt) kommt zusätzlich noch eine kleine “Warnung”:
Ihr könnt das Skript auch hier herunterladen:
https://gallery.technet.microsoft.com/scriptcenter/Get-Memory-RAM-configuratio-35dda12e
Schreibe einen Kommentar...Auf den bisher drei Treffen der in 2016 neu gegründeten Windows Server Usergroup Leipzig (WSUG L.E. – organisiert über Meetup unter meetup.com/de-DE/wsugle/) haben bereits diverse Leute Vorträge gehalten, darunter auch einige MVPs.
Hier möchte ich eine kurze Übersicht der Video geben, die ihr dann ganz bequem von zuhause anschauen könnt. Die Qualität der Videos variiert leider recht stark – seid also bitte nicht gleich abgeschreckt, wenn das erste Video das ihr euch zum Anschauen ausgewählt habt nicht so toll ist. Danke!
11.08.2016 – 1. Treffen – Begrüßung & Einleitung (Haiko Hertes) | Link |
11.08.2016 – 1. Treffen – Windows Server 2016 (Eric Berg) | Link |
11.08.2016 – 1. Treffen – Storage Spaces Direct S2D (Florian Klaffenbach) | Link |
03.11.2016 – 2. Treffen – Begrüßung & Einleitung (Haiko Hertes) | Link |
03.11.2016 – 2. Treffen – Windows PowerShell DSC (Haiko Hertes) | Link |
02.03.2017 – 3. Treffen – Begrüßung & Einleitung (Haiko Hertes) | Link |
02.03.2017 – 3. Treffen – Active Directory Security (Jan-Henrik Damaschke) | Link |
02.03.2017 – 3. Treffen – Übersicht System Center (Haiko Hertes) | Link |
02.03.2017 – 3. Treffen – Übersicht Altaro Hyper-V Backup (Haiko Hertes) | Link |
Diese und auch alle folgenden Videos werdet ihr auch über diese YouTube-Playlist finden:
https://www.youtube.com/playlist?list=PLPK8RW8p4Ok8-2qVVi0AHdoKuC448OEcM
Schreibe einen Kommentar...Wenn man auf einem Hyper-V Server (gemeint ist der kostenlose Server, der ohne GUI, also vergleichbar einer Server Core Installation, und nur mit Hyper-V as Rolle betrieben werden kann) den SNMP-Dienst installiert hat, muss diese noch konfiguriert werden.
Die Installation selber kann remote über den Servermanager oder lokal über PowerShell erfolgen:
Add-WindowsFeature -Name SNMP-Service,SNMP-WMI-Provider
Nach der Installation würde man auf einem grafischen Server jetzt einfach die Dienste-Konsole oder die Computerverwaltung öffnen und den Dienst dort entsprechend konfigurieren. Die grafischen Werkzeuge stehen aber lokal nicht zur Verfügung. Verwendet man jetzt bspw. die Computerverwaltung von einem grafischen Server aus und verbindet sich von dort mit dem Hyper-V Server bzw. dem als Server Core installierten Server, wird man leider feststellen, dass dort einige Optionen im SNMP-Dienst fehlen:
Abhilfe schafft hier die Installation des SNMP-Features auch auf der Maschine, von der aus man mit dem grafischen Werkzeug arbeiten möchte. Danach kann man auch remote die passenden Einstellungen vornehmen:
Viel Spaß beim Ausprobieren!
Schreibe einen Kommentar...Ein Problem, dass ich bereits früher in einem Artikel beleuchtet hatte, ist mir heute wieder untergekommen:
Nach einem Absturz der SCCM Konsole ist ein Objekt für die Bearbeitung durch den sogenannten SEDO-Lock gesperrt. In meinem Fall war dies heute eine Application (Anwendung):
Neben der früher angesprochenen (und bis heute nicht supporteten) Variante, den Lock direkt auf der Datenbank zu löschen, gibt es zwei Varianten die unterstützt werden (eigentlich drei – die dritte wäre, 30 Minuten zu warten):
PowerShell:
Die erste Alternative (und auch die erste Wahl ) ist die Verwendung der PowerShell:
Get-CMApplication –Name “NAMEOFTHEAPP” | Unlock-CMObject
Dienst:
Alternativ kann einfach der SMS Executive Dienst neugestartet werden, was die Wartezeit von 30 Minuten abkürzt, aber natürlich auch weitere Folgen für den Betrieb des SCCM hat.
Schreibe einen Kommentar...