Category Archives: Windows Server 2012

#AzureAD Connect and the on-premises AD Recycle Bin: What do you need to know about the sourceAnchor attribute

Starting from Windows Server 2008 R2, we had the really good option to enable Active Directory Recycle Bin. After all these years you should be familiar with that option, since we talk often about this topic for that last… 8 years.

If you just want to refresh your memory and learn about the on-premises AD Recycle Bin, you can take a look at this article.

But wait: these days is common to sync our on-premises AD objects to the cloud using AAD Connect, but how this new feature is related to our “local” AD Recycle BIn?

The story here is really simple: If you accidentally deleted an on-premises AD user object and restore it using AD Recycle Bin, Azure AD restores the corresponding Azure AD user object. So lets dig a little bit deeper on this topic and check all the different options that we get:

  • If you accidentally deleted an on-premises AD user object, the corresponding Azure AD user object will be deleted in the next sync cycle. By default, Azure AD keeps the deleted Azure AD user object in soft-deleted state for 30 days.

  • If you have on-premises AD Recycle Bin feature enabled, you can restore the deleted on-premises AD user object without changing its sourceAnchor value. When the recovered on-premises AD user object is synchronized to Azure AD, Azure AD will restore the corresponding soft-deleted Azure AD user object.

  • If you do not have on-premises AD Recycle Bin feature enabled, you may be required to create an AD user object to replace the deleted object. If Azure AD Connect Synchronization Service is configured to use system-generated AD attribute (such as ObjectGuid) for the Source Anchor attribute, the newly created AD user object will not have the same Source Anchor value as the deleted AD user object. When the newly created AD user object is synchronized to Azure AD, Azure AD creates a new Azure AD user object instead of restoring the soft-deleted Azure AD user object. So practically you create a brand new object, without being possible to restore the original AD object: it’s just a new account. Remember: By default, Azure AD keeps deleted Azure AD user objects in soft-deleted state for 30 days before they are permanently deleted. However, administrators can accelerate the deletion of such objects. Once the objects are permanently deleted, they can no longer be recovered, even if on-premises AD Recycle Bin feature is enabled.

As we already said above, with AD Recycle Bin you can restore an object without changing its sourceAnchor value. The sourceAnchor attribute is defined as an attribute immutable during the lifetime of an object. It uniquely identifies an object as being the same object on-premises and in Azure AD. The attribute is also called immutableId and you’ll often see that we use both names. So practically this attribute cannot be changed, and for this reason you should have a clear idea on how things work here.

This attribute is used during the following cases:

  • When a new sync engine server is built (a new sync between your on-premises AD and Azure AD), or rebuilt after a disaster recovery scenario, this attribute links existing objects in Azure AD with objects on-premises.
  • If you move from a cloud-only identity to a synchronized identity model, then this attribute allows objects to «hard match» existing objects in Azure AD with on-premises objects.
  • If you use federation, then this attribute together with the userPrincipalName is used in the claim to uniquely identify a user.

It’s really important to select the appropriate attribute, since we said that it cannot be changed:

  • Be less than 60 characters in length
    • Characters not being a-z, A-Z, or 0-9 are encoded and counted as 3 characters
  • Not contain a special character: \ ! # $ % & * + / = ? ^ ` { } | ~ < > ( ) ‘ ; : , [ ] » @ _
  • Must be globally unique
  • Must be either a string, integer, or binary
  • Should not be based on user’s name, sometimes we change the user name!! 
  • Should not be case-sensitive and avoid values that may vary by case
  • Should be assigned when the object is created

Remember: The sourceAnchor attribute is case-sensitive. A value of “chrisSpanougakis” is not the same as “chrisspanougakis”.

If you have a single forest on-premises, then the attribute you should use is objectGUID. This is also the attribute used when you use express settings in Azure AD Connect and also the attribute used by the old DirSync. Generally speaking, there are a lot of cases that is recommended to use the objectGUID attribute, even when we use multiple forests and we do not move users between forests.

Is it possible to change the sourceAnchor attribute?
No. As soon as you create the object and you sync it to Azure AD, it’s not possible to change it anymore. If you want to change it, you should uninstall and reinstall Azure AD Connect. If you install another Azure AD Connect server, then you must select the same sourceAnchor attribute as previously used. If you’ve been using DirSync and move to Azure AD Connect, then you must use objectGUID since that is the attribute used by DirSync. If the value for sourceAnchor is changed after the object has been exported to Azure AD, then Azure AD Connect sync throws an error and does not allow any more changes on that object before the issue has been fixed and the sourceAnchor is changed back in the source directory.

By default, Azure AD Connect (version 1.1.486.0 and older) uses objectGUID as the sourceAnchor attribute. ObjectGUID is system-generated. You cannot specify its value when creating on-premises AD objects. But fortunately, there is a workaround for this: you must use a configurable AD attribute (for example, msDS-ConsistencyGuid) as the sourceAnchor attribute.

You need to use Azure AD Connect (version 1.1.524.0 and after) in order to be able to use the msDS-ConsistencyGuid attribute. For on-premises AD User objects whose msDS-ConsistencyGuid attribute isn’t populated, Azure AD Connect writes its objectGUID value back to the msDS-ConsistencyGuid attribute in on-premises Active Directory. After the msDS-ConsistencyGuid attribute is populated, Azure AD Connect then exports the object to Azure AD.

How we enable the ConsistencyGuid feature?
When installing Azure AD Connect with Express mode, the Azure AD Connect wizard automatically determines the most appropriate AD attribute to use as the sourceAnchor attribute. Since we talk here about a fresh installation of Azure AD Connect, the wizard checks the state of the msDS-ConsistencyGuid attribute in your on-premises Active Directory. If the attribute isn’t configured on any object in the directory, the wizard uses the msDS-ConsistencyGuid as the sourceAnchor attribute.

But: If the attribute is configured on one or more objects in the directory, the wizard concludes the attribute is being used by other applications and is not suitable as sourceAnchor attribute, In this case, the wizard selects to use objectGUID as the sourceAnchor attribute.

Once the sourceAnchor attribute is decided, the wizard stores the information in your Azure AD tenant. The information will be used by future installation of Azure AD Connect. Practicall when the wizard finishes, you should see something like this:


If you do a custom installation of Azure AD Connect, you have the option to select how users will be identified in Azure AD:


Select the first option if you want Azure AD to pick the attribute for you. If you select this option, Azure AD Connect wizard applies the same logic as we described above, during the Express installation of Azure AD Connect. The second option will let you select a specific attribute.

Change the attribute on an a existing installation
If you have an existing Azure AD Connect deployment which is using objectGUID as the Source Anchor attribute, you can switch it to using ConsistencyGuid.

  • Start the Azure AD Connect wizard and click Configure to go to the Tasks screen.

  • Select the Configure Source Anchor task option and click Next.





Thanks for your time!


Ειδική προσφορά MCSA Windows Server 2012 R2

Τώρα που ο Windows Server 2012 R2 δίνει την θέση του στον Windows Server 2016, είναι μια καλή στιγμή να εκπαιδευθείτε σε οικονομική τιμή. Προετοιμαστείτε για το MCSA στον Windows Server 2012 R2 με τα online σεμινάρια στα ΕΛΛΗΝΙΚΑ και σε αχτύπητη τιμή.

Τα σεμινάρια περιλαμβάνουν την εκπαίδευση στα ελληνικά σε video high definition, με απεριόριστη πρόσβαση, το επίσημο εκπαιδευτικό υλικό Microsoft και πρόσβαση στα επίσημα online labs της Microsoft.

Οι ειδικές τιμές ισχύουν για το 20410, 20411 και 20412 και η προσφορά θα είναι διαθέσιμη μέχρι 15 Ιουλίου 2017.

Με την αγορά του κάθε σεμιναρίου ξεκινάτε την εκπαίδευση από το σπίτι σας μέσα σε 2 ώρες, με το ίδιο ακριβώς υλικό που δίνουμε στις εκπαιδεύσεις σε αίθουσα.

Το πρώτο κεφάλαιο κάθε σεμιναρίου σας το προσφέρουμε ΔΩΡΕΑΝ.

Βιαστείτε! Οι ειδικές τιμές ισχύουν για το 20410, 20411 και 20412 και η προσφορά θα είναι διαθέσιμη μέχρι 15 Ιουλίου 2017.

Microsoft Official Courses at special prices to get certified


Do you want to attend a Microsoft Official Course and get certified at a special price? Now you have the option to do it.

If you live in Europe and you want to get a Microsoft certification, but you still cannot afford the high course prices in your country, you should consider to attend a course at our training center in Greece.

A typical Microsoft course in Greece costs a fraction of the price that you should pay in most European countries. This is mainly because of the cost of living in Greece. For example, an official Microsoft course in Germany could cost around 2500 euros (exam not included), while in Greece the exact same course costs around 1000 euros.

Our offer: We can arrange your accommodation during your stay in Greece, we can also arrange transfers to/from the airport at no additional fee and we can arrange your flights if you need to.

The courses are delivered in English by our instructors, we provide you with the official Microsoft Learning material (books, labs) and you have the option to go for the exam as soon as you finish the course! So practically you go back home certified!

Now let’s calculate the costs: Microsoft course including lecture and training material = 1000 euros
Microsoft Exam = 120 euros
Accommodation 6 nights at a 4-star hotel, including breakfast = 500 euros
Flight to/from Greece = 250 euros (or even less, some airlines can offer tickets as low as 100 euros)
Total cost = 1720 to 1870 euros

Teaching Microsoft courses for 17 years now around Europe, allows us to offer you the exact same content at a special price. Do not hesitate to contact us and take a look for more details here:

So do you want to upgrade your old certification?

If you’re certified on Windows Server 2008, Exchange Server 2010, Lync Server, Sharepoint or Windows 7, you can now upgrade your certification by using this special offer:


Get one exam free and a second shot at upgrading your certification!

Laid out below are the sets of exams necessary to upgrade your MCSA: Windows Server 2008 to either a MCSE: Server Infrastructure, MCSE: Desktop Infrastructure, or MCSE: Private Cloud certifications. Choose your upgrade path and save 33% off the cost of your exams. In addition, get an extra chance to pass your Microsoft exams!

Which certifications are qualified for this offer?
MCSA: Windows Server 2008
MCITP: Virtualization Administrator
MCITP: Enterprise Messaging Administrator
MCITP: Lync Server Administrator
MCITP: SharePoint Administrator
MCITP: Enterprise Desktop Administrator

More details here:

Group Managed Service Accounts on Windows Server 2012

Last week I was in UK teaching the full bundle of the courses for the MCSA Windows Server 2012 and we discussed a lot with the students about the new type of Managed Service Accounts, now called Group Managed Service Accounts. It seems that the students were satisified, so they brought in class a small guitar (which I don’t remember the exact name now), and here it is:


So I think it’s a good idea to talk a bit about this new type of service accounts. These are particularly useful of you want to use them on the services that you install. What we’ve been doing all these years was to create the account for the service and specify that the password should never expire, but you already know that this is a security risk.

The problem with the first version of Managed Service Accounts on Windows Server 2008 R2 was that you had to create the accounts in AD, but then you had to import them on every server, so they couldn’t be used on server farms. Now this is possible, but there are a few things to consider first.

  • There is a new security principal called gMSA
  • Services now can run on multiple servers and use the same gMSA
  • … But you need Windows Server 2012 DCs
  • Passwords are created by Group Key Distribution Service (GKDS), available on every Windows Server 2012 DC
  • Member servers get the password from the GKDS
  • Passwords change every 30 days by default (but you can change this during the account creation)

The steps for creating a new gMSA are:

1. Create the KDS Root Key (only once per domain).  This is used by the KDS service on DCs (along with other information) to generate passwords.

From a Windows Server 2012 DC you use Powershell and you type:

Add-KDSRootKey –EffectiveImmediately


EffectiveImmediately might take a long time though, as you have to be sure that the information is replicated to every domain controller. There is a trick to force the process to go faster, but use it only in lab environments. You should run:

Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10))

2. Create and configure the gMSA

It’s a good idea to create a security group in AD and add all the computer accounts that you want to use the gMSA into that group. Next you shoud create the gMSA:

New-ADServiceAccount -name <ServiceAccountName> -DNSHostName <fqdn> -PrincipalsAllowedToRetrieveManagedPassword <group> -ServicePrincipalNames <SPN1,SPN2,…>

and I will specify that I want only my DCs to use the account:


If you get an error here you probably forgot to create the KDSRootKey or you should wait a bit more, go up to step 1 please. If everything went as expected, you should be able to see the new gMSA using AD Admin Center:


3. Install and test the gMSA on a host

Try to type these two commands on the host that you plan to use the gMSA:

Install-AdServiceAccount <gMSA>

Test-AdServiceAccount <gMSA>


Next, if you are going to use the gMSA for a service, an IIS Application Pool, or SQL 2012, you would simply plug it in the Logon/Credentials UI of the service. Don’t to append a $ after the account name, and leave the password blank:


Usually the account will get the “Log On As a Service” right, and once the service is started, the password will be automatically retrieved from a Windows Server 2012 DC.


Question: Can I use a gMSA for a scheduled task?

Answer: Yes you can, but is a little bit tricky…

Unfortunately you can’t use the Task Scheduler UI, so PowerShell only…

Practically we need to define an Action (what), a Trigger (when) and a Principal (under which identity):

$action = New-ScheduledTaskAction  «c:\tasks\mytask.cmd»
$trigger = New-ScheduledTaskTrigger -At 10:00 -Daily
$principal = New-ScheduledTaskPrincipal -UserID contoso\mysrvaccount$ -LogonType Password

Important: After the –LogonType switch you type the word Password, and not an actual password.  This tells the scheduled task to retrieve the actual password for the gMSA from a domain controller.

Then you need to run the Register-ScheduledTask cmdlet, so to create the task, using the variables that we already created before:

Register-ScheduledTask myAdminTask –Action $action –Trigger $trigger –Principal $principal

and you should see that the task was created:


Important: If you use the gMSA to run scheduled batch jobs, the account must have the “Log on as a batch job” on the machine, but you may also need to make this account a member of the Local Admins group, so to be able to perform the task.

And don’t forget: if you use Windows 8 or Windows 8.1, you can have access to all these articles by downloading my free blog reader app from the Windows Store! If you do, please give me a rating!


Next week I’ll be in Belgrade, presenting at Microsoft Sinergija 2013 a session about Windows Server 2012 R2 Work Folders, a smart way to access your files from anywhere.

See you next week!

MCSA Windows Server 2012 R2 Accelerated Course


Το SystemPlus σε συνεργασία με την ITEC σας προσφέρει την δυνατότητα να εκπαιδευθείτε και να πιστοποιηθείτε στον Windows Server 2012 σε accelerated μορφή αλλά επίσης και σε ειδική τιμή.

Θέλετε να πιστοποιηθείτε αλλά δεν διαθέτετε τον χρόνο; Μήπως παρακολουθήσατε σεμινάρια τα οποία χρειάστηκαν αρκετές εβδομάδες για να ολοκληρωθούν; Θέλετε το «κάτι παραπάνω» στην προετοιμασία σας από έναν εκπαιδευτή με εμπειρία σε έργα πληροφορικής στην Ελλάδα και στο εξωτερικό; Τώρα έχετε την δυνατότητα να προετοιμαστείτε για την πιστοποίηση Microsoft Certified Solutions Associate στον Windows Server 2012, παρακολουθώντας τα επίσημα σεμινάρια Microsoft με κωδικούς 20-410, 20-411 και 20-412 σε μόλις 8 ημέρες!

H accelerated μορφή των παραπάνω επίσημων τεχνικών σεμιναρίων Microsoft έχει «τρέξει» ήδη στο Ηνωμένο Βασίλειο και στην Σουηδία με μεγάλη επιτυχία, έχοντας πιστοποιήσει μέχρι τώρα εκατοντάδες επαγγελματίες της πληροφορικής.


«I think this course is excellent. Learned a lot, and great teacher.» Lars O.
«The layout of the faclities are excellent and Chris as the instructor has been extremely informative. I have not worked with Server 2012 and yet I feel that if I was in that situation I would be able to administrate said server after this course.»
Jason A.

» Trainer: V-Good (Chris knows his stuff, is a good trainer and is a nice Chap) Facilities: V-Good.» Daniel S.
«Course content was very good. Chris knows his stuff and imparted the knowledge well.» Kim S.


Στις εγκαταστάσεις της ITEC, επίσημου εκπαιδευτικού κέντρου Microsoft, Αγίας Κυριακής 45 & Λεωφ. Αμφιθέας 60 στο Παλαιό Φάληρο.


Δείτε πληροφορίες εδώ:


Εισηγητής των σεμιναρίων είναι ο Χρήστος Σπανουγάκης, Microsoft Certified Trainer για 13 χρόνια και Microsoft Most Valuable Professional από το 2008, ο οποίος εκπαιδεύθηκε στον Windows Server 2012 από την ομάδα ανάπτυξης του προϊόντος στα κεντρικά της Microsoft στο Redmond, εκπαιδευτής με πάνω από 20.000 ώρες εκπαίδευσης μέχρι σήμερα και IT Consultant σε μεγάλα έργα πληροφορικής. Σίγουρα θα τον έχετε γνωρίσει στα επίσημα events της Microsoft Hellas, σε πολλά από τα οποία είναι κύριος ομιλητής. Ταξιδεύει συχνά και συμμετέχει σε εκδηλώσεις της Microsoft στο εξωτερικό, κάτι που του επιτρέπει να μεταφέρει αυτή την γνώση στους συμμετέχοντες. Έχει συμμετάσχει ως ομιλητής στην Microsoft TechEd Europe και τον τελευταίο καιρό έχει μόνιμη συνεργασία με εκπαιδευτικά κέντρα στην Ευρώπη, διδάσκοντας τα επίσημα σεμινάρια Microsoft για Windows Server, Active Directory κ.α.


Το συνολικό κόστος είναι 2.250 ευρώ ανά άτομο και περιλαμβάνει το επίσημο εκπαιδευτικό υλικό Microsoft ανά συμμετέχοντα και επιπλέον αποκλειστικό εκπαιδευτικό υλικό για την καλύτερη προετοιμασία σας που δεν θα βρείτε πουθενά αλλού.

Για πληροφορίες και δηλώσεις συμμετοχής επικοινωνήστε άμεσα με το SystemPlus στο 2310 266988.

Windows Server 2012 R2: First installation and impressions


Όπως ίσως ήδη γνωρίζετε, ο Windows Server 2012 R2 είναι ήδη διαθέσιμος για download. Δεν χάσαμε την ευκαιρία λοιπόν και τον κατεβάσαμε, τον εγκαταστήσαμε με την μέθοδο του boot από vhdx, ώστε να έχουμε την δυνατότητα να εξερευνήσουμε τα νέα χαρακτηριστικά του και κυρίως την αναβαθμισμένη έκδοση της virtualization πλατφόρμας.

Φυσικά δεν θα πρέπει να ξεχνάμε ότι τα Windows 8.1 θα είναι το client λειτουργικό που θα “κουμπώνει” άψογα με τον νέο server, κάτι που βλέπουμε να συμβαίνει με το καινούριο χαρακτηριστικό που ονομάζεται “Workplace Join”: φαίνεται ότι θα έχουμε την δυνατότητα να συνδέουμε μελλοντικά ακόμα και συσκευές με Android, iOS και RT στο workplace, ώστε να έχουμε την δυνατότητα να τις διαχειριζόμαστε με τον ίδιο τρόπο, όπως και τις κανονικά domain-joined συσκευές μας. Πολύ ενδιαφέρον είναι το ακόλουθο άρθρο,, από το οποίο αντιγράφω μια σχετική παράγραφο:

“A Windows 8 PC was either domain joined or not.  If it was a member of the domain, the user could access corporate resources (if permissioned) and IT could control the PC through group policy and other mechanisms.  This feature allows a middle ground between all or nothing access, allowing a user to work on the device of their choice and still have access to corporate resources With Workplace Join, IT administrators now have the ability to offer finer-grained control to corporate resources.  If a user registers their device, IT can grant some access while still enforcing some governance parameters on the device.” 

Ένα ακόμα χαρακτηριστικό που τραβάει την προσοχή μας είναι τα λεγόμενα Work Folders, για όσους θέλουν να συγχρονίζουν τα δεδομένα που βρίσκονται σε μοιρασμένους φακέλους μεταξύ πολλών διαφορετικών συσκευών, κάτι σαν το Skydrive αλλά για SMB Shares. Τα δύο αυτά νέα χαρακτηριστικά θα είναι χρήσιμα σε αυτό που ακούγεται πολύ τελευταία: BYOD (Bring Your Own Device, … but I want to control it since you are a corporate user and I am the administrator…)



Για να δούμε όμως τι νέο υπάρχει στο Hyper-V. Το πρώτο που βλέπει κανείς όταν δημιουργεί ένα νέο VM είναι η διάκριση σε Generation 2 και Generation 1:


Το Generation 2 VM προσφέρει την δυνατότητα για Secure Boot (UEFI), SCSI Boot αλλά και PXE Boot από κανονικούς network adapters και όχι Legacy όπως στο παρελθόν. Ουσιαστικά απαλλαγόμαστε από όλο εκείνο το virtual hardware που δεν χρειαζόμαστε πλέον, ακόμα και το Virtual Floppy έχει καταργηθεί. Τι αντίκτυπο έχουν όλα αυτά; Καλύτερο performance. Το μόνο που δεν είδαμε είναι το virtual TPM. Αν σκεφτούμε ότι στα Windows 8.1 θα υπάρχει υποστήριξη μέσω TPM με τις νέες CPU για ασφάλεια σε οτιδήποτε συμβαίνει στον υπολογιστή, γιατί να μην το έχουν τα VMs;



Παρατηρήστε επίσης ότι έχει αφαιρεθεί virtual hardware το οποίο δεν είναι πλέον απαραίτητο:


Υπάρχει επίσης και η επιλογή για migration to different processor version:



Σε ότι αφορά τους Virtual δίσκους, παρατηρήσαμε ότι υπάρχει πλέον Quality of Service, ώστε να μπορούμε να ρυθμίσουμε τα IOPS που ξοδεύει ένα VM, αλλά και η δυνατότητα του Virtual Disk Sharing, δημιουργώντας shared storage για guest clustering και την δυνατότητα να βλέπουν τα VMs αυτούς τους δίσκους σαν SAS:



Στα integration services έχουν προστεθεί τα Guest Services για copy-paste μεταξύ των VMs και του physical machine:



Υπάρχει επίσης η δυνατότητα του resize ενός virtual δίσκου ON THE FLY… (δυνατότητα για grow αλλά και για shrink, την στιγμή που τρέχει το VM χωρίς downtime), αλλά και η αυτόματη ενεργοποίηση των VMs που τρέχουν πάνω στην Datacenter έκδοση. Και για να έχουμε την ίδια ορολογία με τον System Center VMM, δεν χρησιμοποιούμε πλέον τη λέξη snapshots αλλά checkpoints:



Έχει προστεθεί στα features και το SMB Bandwidth Limit, αφού πλέον χρησιμοποιούμε SMB Shares για να αποθηκεύουμε τα vhdx των VMs, πολύ χρήσιμο στο Live Migration over SMB:



Προχωρώντας στο περιβάλλον του Windows Server 2012 R2 παρατηρούμε ότι στο μενού που εμφανίζεται με Windows Logo + X έχουμε την επιλογή του shut down:



Σε ότι αφορά το Active Directory, είδαμε καινούριο functional level (αλλά και κάποια νέα χαρακτηριστικά που θα τα δούμε σε επόμενο post):



Αν κάποιοι από εσάς θα θέλατε να είχατε τις ευκολίες και τους wizards του Windows Server Essentials, υπάρχει η δυνατότητα να τους αποκτήσετε με το νέο feature που υπάρχει ενσωματωμένο και ονομάζεται Windows Server Essentials Experience. Σας δίνει το γνωστό Dashboard, την δυνατότητα του Remote Access Anywhere μέσω του IIS αλλά και την δυνατότητα να κάνετε backup των PCs μέσω δικτύου:






Το καλύτερο ίσως αυτού του νέου feature είναι ότι έχουμε την δυνατότητα της πλήρους ενσωμάτωσης της συνδρομής του Office 365 με το Active Directory on premises, χωρίς την πολυπλοκότητα των Federation Services και του AD Sync που είχαμε στον προηγούμενο Windows Server 2012. Υποστηρίζεται μέχρι και το integration με την συνδρομή Windows Intune:




Φυσικά η λίστα με τα νέα features είναι μεγάλη ώστε να απορεί κανείς πως μπόρεσαν μέσα σε ένα χρόνο να τα προσθέσουν. Θα επανέλθουμε σύντομα.