Drücke "Enter", um den Text zu überspringen.

Kategorie: Microsoft

Microsoft Technical Summit 2016 – meine Slides und Samples

Für all diejenigen, die meine Demos aus der Technical Summit Session zu PowerShell DSC ausprobieren wollen oder einfach nur die Inhalte nochmal nachlesen wollen, biete ich hier meine Slides und Samples an.

MSTS16_Haiko_Hertes_PowerShell_DSC_-_The_not_too_deep_dive_V3

Zum Ausprobieren braucht ihr einfach nur 3 Windows Server 2016, am besten als VM in Hyper-V. Meine VMs heissen SRV1, SRV2 und SRV3, aber wenn ihr die Skripte anpasst sind natürlich auch andere Servernamen ok.

Hier nun also die Links zum Download:

Die Samples (also die PowerShell Skripte):

MSTS16_Haiko_Hertes_PowerShell_DSC_-_The_not_too_deep_dive_Samples.zip

Die PowerPoint-Slides:

MSTS16_Haiko_Hertes_PowerShell_DSC_-_The_not_too_deep_dive.pdf

Schreibe einen Kommentar...

Windows Server NIC-Teaming: Problem mit doppelter MAC beheben

Auf einem Test-Host unter Windows Server 2016 mit Hyper-V ist mir heute folgende Fehlermeldung im Eventlog aufgefallen:

lbfo1

(MAC Conflict: A port on the virtual switch has the same MAC as one of the underlying team members on Team Nic Microsoft Network Adapter Multiplexor Driver) – Source: MsLbfoSysEvtProvider / Event-ID 16945

Wenn man mittels PowerShell nach den MACs schaut bestätigt sich das auch schnell:

Get-NetAdapter | Sort MacAddress

lbfo2

Als Lösung habe ich die MAC des Teams (mittels PowerShell, da es ein Core-Server ist) geändert:

Get-NetAdapter “Name” | Set-NetAdapter –MacAddress 00-00-00-00-00-00

lbfo3

Schreibe einen Kommentar...

Office 365 / Azure AD: Kennwort eines Benutzers soll nicht ablaufen

Wenn man Office 365 Konten hat, die keinem Benutzer fest zugeordnet sind (in meinem Fall für Konferenz-Telefone), dann ist es eher ungünstig, wenn das Kennwort abläuft. Auch bei regulären Benutzern kann es gewünscht sein, dass das Kennwort nicht abläuft.

Wenn der Benutzer aus dem lokalen Active Directory synchronisiert wird, dann kann man diese Option einfach im lokalen AD einstellen. Aber bei einem Benutzer, der nur online existiert geht das nicht. Wie also dort das Ablaufen eines Kennwortes deaktivieren? Natürlich per PowerShell!

Dazu muss erst mit

Connect-MsolService

eine Verbindung mit Azure AD aufgebaut werden. Danach kann dann mit

Set-MsolUser -UserPrincipalName USER@MAIL.DE -PasswordNeverExpires $True

die entsprechende Einstellung vorgenommen werden.

O365_User_Password_Expire

Viel Spaß damit!

Schreibe einen Kommentar...

PowerShell DSC: RegisterDscAgentUnsuccessful Fehler

Nur eine kurze Notiz, da es dazu insbesondere im Deutschen Internet keine brauchbaren Texte gibt:

Solltet ihr beim Versuch, einen Host bzw. dessen LCM (Local Configuration Manager) bei einem Pull-Server zu registrieren einen derartigen Fehler bekommen:

lcm1

Als Text:

Fehler bei der Registrierung des Dsc-Agents beim Server https://SRV1.lab.hertes.net:8080/PSDSCPullServer.svc. Der zugrunde liegende Fehler ist: 
Beim Versuch, den DSC-Agent mit AgentId C60FE00B-9EB7-11E6-B56F-00155D003B07 beim Server https://srv1.lab.hertes.net:8080/PSDSCPullServer.svc/
Nodes(AgentId='C60FE00B-9EB7-11E6-B56F-00155D003B07') zu registrieren, wurde der unerwartete Antwortcode Unauthorized zurückgegeben..
    + CategoryInfo          : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : RegisterDscAgentUnsuccessful,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
    + PSComputerName        : SRV2.lab.hertes.net

Die wesentliche Message im Fehlertext ist wohl:

“Unauthorized”

Die Lösung des Problems ist zwar denkbar einfach, dafür aber auch aus der Kategorie “Schnell mal vergessen”:

In der Konfiguration des Pull-Servers wird diesem ein Verzeichnis mitgeteilt, in dem er die zulässigen Registration-Keys finden kann:

lcm2

Wenn man nun einfach vergessen hat, die vom neuen Host zu verwendende GUID dort abzulegen, dann wird dieser eben als nicht autorisiert abgelehnt…

Abhilfe schafft hier eine Zeile im Code der Registrierung des neuen Hosts, die man dann idealerweise direkt vom Pull-Server aus auslöst:

lcm3

Die wesentliche Zeile habe ich rot markiert. Ich schreibe die GUID zusätzlich in ein einzelnes File in einem anderen Pfad, um leichter prüfen zu können, ob ich für den Server bereits eine GUID vergeben hatte…

Schreibe einen Kommentar...

Skype for Business – jetzt auch endlich für Mac!

Diese Woche hat Microsoft – fast schon “still und heimlich” die vorerst finale Version des “Skype for Business” Clients für den Mac herausgegeben.

Dieser kann hier direkt herunter geladen werden:

https://www.microsoft.com/en-us/download/details.aspx?id=54108

Skype-for-Business-announces-new-Mac-client-and-new-mobile-sharing-experiences-1

In diesem Blogbeitrag des Microsoft Office Teams könnt ihr Näheres lesen:

https://blogs.office.com/2016/10/27/skype-for-business-announces-new-mac-client-and-new-mobile-sharing-experiences/

Schreibe einen Kommentar...

Hürden bei der Office 365 Migration in Bezug auf AD Connect

Vor zwei Wochen habe ich nun endlich die E-Mail-Kommunikation meiner Firma auf Office 365 umstellen können. Diese eigentlich gar nicht so aufwändige Projekt war leider durch zu viele kleine Dinge im Alltag zeitlich in die Länge gezogen worden.

Aus den Erfahrungen bei der Migration möchte ich hier ein paar Hürden und Stolpersteine, die mir im Zusammenhang mit Azure AD Connect begegnet sind, erläutern, in der Hoffnung, dass andere diese so umgehen können.

Azure AD Connect zu früh benutzt I

Ich hatte Azure AD Connect bereits aktiviert, bevor ich den Migrationsendpunkt (Migration Endpoint) für die Cutover-Migration angelegt hatte. Danach ließ sich die Option “Übernahmemigration” (Das ist die Cutover-Migration) nicht mehr auswählen, diese war ausgegraut (siehe mein Blogpost vom 12.09.2016)

Erkenntnis: Azure AD Connect erst benutzen, wenn der Migrationsendpunkt angelegt ist. (siehe auch nächster Punkt!) Alternativ kann AD Connect auch wieder abgeschaltet werden: (kann ggf. einige Stunden dauern)

image

Azure AD Connect zu früh benutzt II

Ich hatte, bevor alle Postfächer durch Cutover-Migration umgezogen waren, schon Azure AD Connect (früher DirSync) auf unseren Systemen installiert und einige Benutzer aus unserem Active Directory zu Azure bzw. Office 365 synchronisiert. Für diese Benutzer konnte ich dann keine Postfächer mehr per CutOver-Migration migrieren, weil dann bemängelt wird, dass es bereits Objekte mit der selben Mailadresse gibt.

Erkenntnis: Azure AD Connect erst benutzen, wenn alle Postfächer migriert sind.

Azure AD Connect kommt mit multiplen Mail-Adressen im AD nicht so gut klar

Neben der finalen Mailadresse unserer Public Domain hatten die Exchange-Postfächer (und damit auch die AD Objekte der Benutzer) mehrere Mailadresse, u.a. die der lokalen internen AD Domäne. Diese sind u.a. im Attribut “ProxyAddresses” gespeichert. Die primäre Mailadresse hat dabei ein großgeschriebenes “SMTP:” vorangestellt, alle anderen ein kleingeschriebenes:

image

Daran aber stört sich anscheinend Azure AD Connect. Darauf deutet auch ein älterer Blog-Artikel bei Microsoft hin. Dort heisst es:

  • “SMTP:username@contoso.com” is an acceptable value.
  • username@contoso.com” and “smtp:username@contoso.com” are not acceptable values.

Als Fehler kommt “Das Objekt kann nicht aktualisiert werden, weil die folgenden dem Objekt zugeordneten Attribute Werte aufweisen, die möglicherweise bereits einem anderen Objekt in Ihren lokalen Verzeichnisdiensten zugeordnet sind” – und zwar für jeden User der Domäne.

Also habe ich vorübergehend alle kleingeschriebenen “smtp” durch großgeschriebene ersetzt (ACHTUNG: Das ist nur temporär, in der Zwischenzeit solltet ihr keine Exchange-Konsolen benutzen, da diese damit ein Problem haben, dass es mehrere primäre Adressen gibt! Alternativ könnte man auch alle sekundären Adressen entfernen – das kam für mich aber nicht in Betracht). Dies habe ich natürlich mit PowerShell erledigt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Get-ADUser -SearchBase "OU=SOMEOU,DC=MYDOMAIN,DC=local" -Filter * | 
    Get-ADObject -Properties proxyAddresses | 
        ForEach-Object 
        {
 
            $ProxyA = $_.proxyAddresses.Replace("smtp","SMTP") 
            ForEach($Adress in $_.proxyAddresses) 
            { 
                if($Adress -like "*@THEDOMAIN.COM") 
                { 
                   $ProxyA = $Adress 
                } 
            } 
            $_.ProxyAddresses = $ProxyA 
            Set-ADObject -Instance $_ 
        }

Selbst nach dem ich dies bei allen Benutzer gemacht hatte kam ausgerechnet für mein eigenes Konto noch immer der selbe Fehler:

image

Dabei hatte ich meinen Account ebenso behandelt wie alle anderen. Dieses Mal war die Ursache aber eine andere: Es gab noch einen gelöschten O365-Benutzer mit dieser Adresse! Also musst auch noch der gelöschte Benutzer endgültig gelöscht werden. Dies habe ich ebenfalls per PowerShell gelöst:

1
Get-MsolUser -ReturnDeletedUsers | Remove-MsolUser -RemoveFromRecycleBin –Force

(Achtung: Das löscht ALLE gelöschten Benutzer endgültig! Will man nur einen einzelnen Benuter löschen geht dies mittels:

1
Remove-MsolUser -UserPrincipalName Lynn@office365bootcamp.com –RemoveFromRecycleBin


Danach klappte auch die Synchronisierung des letzten Kontos problemlos…

Schreibe einen Kommentar...

Windows Server 2016 und System Center 2016 sind jetzt GA und damit im Download verfügbar!

Da ich die letzten Tage im Ausland unterwegs war diese Meldung etwas verzögert:

Sowohl Windows Server 2016 als auch System Center 2016 sind seit gestern “General Available” also für die Allgemeinheit verfügbar. Dadurch sind die Produkte nun also auch in der MSDN…

image

… als auch im VLSC verfügbar:

image

Natürlich könnt ihr die Produkte auch weiterhin über das Evaluation Center herunterladen. Viel Spaß damit!

 

Einige Ressourcen dazu:

Evaluation Version

Leitfaden zu Windows Server 2016

Schreibe einen Kommentar...

Windows 8 / 8.1 / 10: Bestimmte WLAN-Verbindungen per GPO als getaktet festlegen

Seit Windows 8 gibt es die Möglichkeit, eine WLAN- oder WWAN-Verbindung als “getaktet” (metered) festzulegen. Das hat Auswirkungen auf die Nutzung dieser Verbindung. Ziel ist es dabei, eine Verbindung mit beschränktem Datenvolumen oder Kosten pro kB/MB, möglichst wenig mit Dingen zu belasten, die man später auch über unbeschränkte Datenverbindungen machen kann, z.B. das Herunterladen von Windows Updates oder die Bereitstellung neuer Software, die erst aus dem Netzwerk geladen werden muss.

Wenn man nun z.B. in einer kleinen Außenstelle, auf einer Baustelle oder sonst wo einen LTE- oder UMTS-Hotspot bereitstellt, damit einige Mitarbeiter darüber arbeiten können, dann haben diese Verbindungen in der Regel ein Datenlimit pro Monat, nach dessen Erreichen die Geschwindigkeit massiv gedrosselt wird, z.B. 3, 5 oder 10GB. Will man nun für diese Mitarbeiter erreichen, dass z.B. keine Windows-Updates über diese Verbindung geladen werden, dann kommen die getakteten Verbindungen zum Einsatz und es wäre wünschenswert, das entsprechende WLAN per Gruppenrichtlinie als “getaktet” zu bestimmen.

Das Problem dabei:

In den GPOs lassen sich zwar die Kosten für WLAN festlegen (es gibt dabei 3 Stufen, “unrestricted”, “fixed” und “variable”, wobei “fixed” bedeutet, dass die Kosten pro übertragenem Kilo- oder Megabyte entstehen und “variable” für ein monatliches Limit steht), dies gilt dann aber für ALLE WLAN-Verbindungen:

MeteredConn1

Als Alternative kann man nun aber das gute, alte “netsh” benutzen. Damit lassen sich Verbindungsdetails zeigen:

MeteredConn2

Der Befehl dazu lautet:

netsh wlan show profile WLANSSID

Will man nun für eine Verbindung die Kosten verändern, so geht dies folgendermaßen:

MeteredConn3

Der Befehl dazu lautet:

netsh wlan set profileparameter name=WLANSSID cost=variable  (oder alternativ “fixed”)

Daraus braucht man nun nur noch ein passendes kleines Script basteln und dieses per GPO wirken lassen:

MeteredConn4

Schreibe einen Kommentar...

Windows Server 2016 und System Center 2016 Launch

Nur als kurze “Randnotiz”: Microsoft hat den Windows Server 2016 auf der Ignite in Atlanta vor nicht ganz 2 Tagen gelauncht. Den Blog-Artikel des Windows Server Teams findet ihr hier:

https://blogs.technet.microsoft.com/hybridcloud/2016/09/26/announcing-the-launch-of-windows-server-2016

Leider stehen die Bits noch nicht zum Download zur Verfügung, auch nicht in der MSDN. Allerdings kann man die Evaluation-Version als ISO oder VHD herunterladen, siehe hier:

https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016

14445094_10154021146281636_2895277330281932190_o

Außerdem wurde am selben Tag das System Center 2016 gelauncht. Infos siehe hier:

https://blogs.technet.microsoft.com/hybridcloud/2016/09/26/announcing-the-launch-of-system-center-2016-and-new-services-for-operations-management-suite/

Die Evaluierungsversion gibt es hier:

https://www.microsoft.com/de-de/evalcenter/evaluate-system-center-2016

 

Viel Spaß mit den neuen Spielsachen!

Schreibe einen Kommentar...