Tag Archives: migration

Technical Fiction Windows 10

Lync no more

Skype for Business‘ is here. After Microsoft’s acquisition of Skype 4 years ago this month they have been (slowly) integrating it with their own live communications offering Lync (previously ‘Live Communications Server’) as well as with their Outlook online mail client and with the upcoming Windows 10 (watch those EU legal hawks circle around this one, much like IE integration with Windows this may be deemed to be abusing a monopoly too against the likes of Google Hangouts etc.)

I only noticed it while downloading some ISOs via my technet subscription, so bye bye Lync and hello Skype.

skype for business 2015
Skype for business 2015

The end user client will look more like Skype as it will take on some of the blue branding elements. Although administrators on either on-premise or Office 365 can change the skin to match the previous Lync client thereby reducing end user chaos during any transition.

Here’s the l(y)nc for more info:


I’ll probably run a lab migration and a blog post will hopefully follow.

Technical Fiction Windows 10

Windows 7 to Windows 10 migration

According to Microsoft they have invested heavily in making the process of moving from Windows 7 directly to Windows 10 as easy as possible. This is in clear recognition of those who have moved from XP to 7 in the last few years, and more so for medium to large enterprise businesses who require significant investment and incentive in any upgrade programme.

To this end, moving from Windows 7 SP1 to Windows 10 will be an in-place upgrade path. This means it will, more or less, retain all your user settings and customisations which currently exist within your Windows 7 profile. Things like your wallpaper, taskbar configuration, application customisations etc. etc. will all be retained once you complete an in-place upgrade to Windows 10.

That isn’t the only thing Microsoft have focussed on, they are trying hard to ensure that anyone who moves from 7 to 10 will not have to RTFM or search for You Tube videos on how to launch familiar programs or shutdown (what I really hate about Windows 8 – shutting down! Painful!). Familiarisation is key so expect the final release of Windows 10 to look and feel like much like Windows 7, with improvements and optimisations such as Live Tiles, multi-monitor application snap, any device application functionality and improved UI.

There is recognition that there are still a heck of a lot of people still using the traditional keyboard and mouse combination, that not everyone has touchscreen monitors and that many people use multiple devices and not just tablets. The traditional PC, despite declinging sales, is still going to be with us for a while longer and more so in the corporate world where change comes in much later than within the consumer channel.

Active Directory Technical Fiction

Migration Guide: FRS to DFS Replication

In an effort to reduce SYSVOL bloat and replication across Domain Controllers (DCs) consider using DFS Replication (DFSR). A bigger reason however is that FRS is no longer supported in Server 2012, so if you plan to upgrade DCs to Server 2012 – then you must do this first. Want a third reason? If you are using Read Only DCs (RODCs) and are still on FRS it is easy for the SYSVOL on the RODC to become out of synch with other DCs; better still in Server 2008 R2 and above DFS-R ensures that the RODC SYSVOL can never be modifed.

DFS-R simply provides better and more efficient synchronisation than the old world File Replication Service (FRS). Prior to proceeding you may want to indeed check  and make sure that you are not already using DFS-R. Jump into a command prompt and type in this command:

Dfsrmig /GetGlobalState

If the output is shown as “Current DFSR global state: ‘Eliminated’” then you are already using DFS-R and there is no need to go any further. Stop right here.

dfsrmig command
dfsrmig command
Did You Know: the DFS-R migration process actually uses Robocopy (yes! Robocopy) to copy the SYSVOL data at various stages


All Domain Controllers need to be online and available. If you have any redundant DCs listed and they have not been cleaned up (meta data an’ all!) then do so before starting this task

Depending on what Server OS and Service Pack Level you are on ALL DCs may need to be located in the default Domain Controllers OU. If they are located in a sub OU or elsewhere (for policy reasons usually) then consider moving them into the default location temporarily during the migration

The PDC Emulator MUST be online during the whole process – that’s the dude with the most up to date Policy and it is the DC that this whole process talks to the most

You need at least a Windows 2008 Functional Level for your Domain, so get rid of those soon to be end of life Server 2003 R2 DCs first

4 Steps to DFS-R

There are 4 steps to migrate from FRS to DFS-R using the Dfsrmig command:

  1. Health Check: Run the following commands to check the health of current replication
    1. Ensure there is enough free disk space on each Domain Controller for the migration
    2. Run repadmin /replsummary to ensure current replication is healthy, resolve any issues
    3. Run repadmin /showrepl * /csv > replication.txt to ensure current replication is healthy, resolve any issues in the output file
  2. Migrate to Prepared State: Use the command Dfsrmig /SetGlobalState 1 to begin the migration, use Dfsrmig /GetMigrationState to check the current status of this step. Do NOT proceed until this step is complete
  3. Migrate to Redirected State: Use the command Dfsrmig /SetGlobalState 2 for this second step, use Dfsrmig /GetMigrationState to check the current status of this step. Do NOT proceed until this step is complete. If you wish to stay with FRS for SYSVOL replication then stop here.
  4. Migrate to Eliminated State: [NOTE: There is no going back after this step! You have been warned] Use the command Dfsrmig /SetGlobalState 3 for this final step, use Dfsrmig /GetMigrationState to check the current status of this step. Once this step is complete so is the migration.

That’s all there is too it. Honest.

If you did execute Step 4 in error, then as I said there is no going back. Ever. Except of course unless you rebuild the whole domain (a whole lot of fun for you then!).

Clean Up Tasks – get rid of FRS!

Now that you have succesfully migrated to DFS-R you now need to

  • Delete the old SYSVOL directory
  • Disable and then Remove the NTFRS Service

You really should download and read the full Microsoft guide found here: http://technet.microsoft.com/en-us/library/dd640019(WS.10).aspx

As usual, get in touch if you have any questions.

Active Directory

Uplifting Active Directory to 2012/2012 R2


Following on from my earlier post about the death knell for Server 2003 which is due to retire in July 2015 I provide some guidance on uplifting your Domain Controllers to either 2008 or more relevant to this post, to 2012 R2. It has been a year since 2012 R2 was released in October 2013 so you better be ready for it…are you ready, are you sure? …go on be honest, does it scare you? Change usually does. This guide will serve as a calming oasis in a sea of chaos.

To clarify at the outset, we are not bothered about upgrading member servers here, that’s a big task for even smaller organisations as any legacy services and applications running on these will need some level of remediation to work on 2012 or 2012 R2 member servers. Heck, just migrate to the latest version straight into the ‘cloud’ as a hosted solution and let the 3rd party vendor do all the hard work (then all you need is a Trust or Federation! Easy!). Just remember that member servers on an OS of 2003 Server or above will function completely fine in a pure 100% 2012 R2 AD environment (but don’t forgot about July 2015!).

Out with the old…

NOTE: Also we are not talking about an AD migration here, this is a DIY guide to replacing all your flavour of the month Domain Controllers (Windows 2003, 2003R2, 2008 or 2008 R2) with all new shiny 2012 R2 Domain Controllers (DCs) – and then optionally uplifting your Domain &/or Forest Functional levels.


Please Please Please Please Please do some housekeeping. Clean up those stale objects (users, groups, computers, GPOs, Fwd and Rvrse DNS entries, SIDs, OUs, Sites, Trusts), clean down those global groups and lock down the number of people with privileged access. Your Security Chief (mean scary person) will thank you and your attack surface will be reduced accordingly. Honest.

Service and Application accounts in your AD often have more privileges than they actually need, they are usually classified as ‘stale objects’ as they probably haven’t been interacted with for quite a while. Identify the owners of these accounts, this is quite important as more often than not an application failure can be traced to the service account…but if you don’t know who owns/manages it the TTF is lengthened significantly.

Also use this time to document your AD structure and settings, seriously a lot organisations either 1) have no such document or even a visio diagram or 2) have the original one created as a vanilla ‘design’ back in the day but it was never updated since! Wuh? You mean you’ve actually got 30 DCs and not just 3 like it says here?!!!

Audit: The servers themselves and the Environment

Here’s your simple checklist of questions to ask yourself or information to find out:

  • Are your existing physical servers fit for purpose and can they support Windows Server 2012 R2? For your server hardware do the associated 2012 version drivers exist? Consider using virtualisation as DCs in virtual environments are fully supported (Hyper-V and VMware);
  • Will your AD be upgraded either 1. remotely by an in-place upgrade from Server 2003/2008 to Server 2012 R2 or 2. rebuilt from scratch 3. New hardware and built from scratch?
  • Cross architecture (32 bit to 64 bit) and cross language (change in server language) in-place upgrades are not possible, these servers will need to be rebuilt;
      • If servers are running a 64 bit edition of Server 2008 or 2008 R2 they can be upgraded to 2012 R2
      • If servers are running ANY edition of Server 2003 they will have to be rebuilt or replaced
  • Windows Standard editions will be upgraded to Windows Standard and Windows Enterprise editions will be upgraded to Windows Enterprise;
  • What is the size of your existing NTDS.DIT? This is important as your upgraded or newly built server MUST have sufficient memory to hold the entire NTDS.DIT file in active memory, in RAM. If your NTDS.DIT is 500MB, than your available RAM after all other considerations must be minimum 500MB – ideally more;
  • Note down your AD Schema version, go to a Domain Controller, run regedit and navigate to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NTDS\Parameters;
  • Non Windows clients, identify them and understand how they interact with and access domain resources, sometimes they have IPs or even Hostnames hard coded somewhere within their settings. Identify and either rectify or have a plan of action;
  • Network equipment that may need DNS information, check your switches, routers and firewalls and liaise with the network operators to understand the dependencies;
  • 3rd Party applications, find out what if any dependency they have on AD DS and what may happen to functionality and service in the event of an upgrade. This means engaging with the 3rd party and having a plan just in case;
  • Services, applications or hardware (Printers, Multifunction Devices, Logging services, Proxy/RAS/VPN Servers, IP Cameras, NAS servers, SAN storage) that relies upon Active Directory and in particular Kerberos for authentication should be logged and if needed a remedial plan of action formulated;
  • Upgrades and rebuilds of DCs should be completed out of hours where possible;
  • Identify your current FSMO role holders > netdom query FSMO;
  • Note down your Domain and Forest Functional levels;

To be honest a lot of you will need new server hardware or new VMs, so you will be introducing 2012 R2 side by side with the existing servers. Makes it a lot easier than attempting to in-place upgrade the OS, which isn’t possible in some cases e.g. x32 and x64 2003/2003 R2 Servers CANNOT be OS upgraded to x64 2012 R2  directly.

Testing – you do have a Non Production environment, right?

Most of you won’t. Tough ask then, to make changes in Live. Well, try to mock up some kind of non-prod environment and make it as life like as possible – then try some testing. However such a vanilla environment won’t reflect reality so prepare for the worst and have a clear roll back plan.


Updates to locally installed application services for monitoring or optimisation – make sure the product you use for monitoring/optimisation has a 2012 compatible version/pack available for example SCOM, Nagios, Foglight

Security products locally installed – e.g. Anti-Virus, Software Firewall products – make sure your security vendor(s) have a 2012 compatible version/upgrade available and ideally available to push out via your software deployment service.

Applications will fail to authenticate and will require remediation – some services running elsewhere in your organisation may fail to authenticate or work once you introduce 2012 R2 Domain Controllers or when you switch off all the legacy 2003 or 2008 ones. Plan for this.

Check for hardcoded host name usage – I’ve seen many organisations throughout the transitions and migrations I have completed where 3rd party services/applications are provided the hostname or IP address of specific DC’s in order to function. When these DC’s are no longer DC’s the application or service simply fails to function as before.

Domain-joined clients cover several versions of the Windows OS (NT4.0, 2000 Server, Server 2003, Server 2008, Server 2008 R2, Windows 7, Windows XP, Windows 8, Windows 8.1 ) all of which should continue to function as is EXCEPT NT 4.0 and 2000 Server – these 2 simply cannot communicate securely within a pure 100% 2012 R2 Active Directory service.

When you come to demote the old DCs do not accidentally tick the box “This is the last Domain Controller in the Domain” cos if you do then you’re in a whole heap of doo-dah. If that happens, please don’t call me. Pretty please.

File Replication Services (FRS) is fully depreciated in Server 2012 R2 so you better be rid of it prior to uplifting. The replacement is DFS Replication, see my brief guide HERE on how to do this.

What Will or Might break…

This list is by no means comprehensive but should give you some idea of what you need to watch out for:

  • DNS – no internal or external DNS resolution. In other words you won’t be able to check if Murray is losing (again!)
  • DHCP – clients drop of like lemmings of a cliff (oh how i loved that game!)
  • Printers – users love to print. They get angry when they cannot. I’m a user too, I get ANGRY when i cannot print my Marvel superhero pics
  • Network Devices – network stuff, that dark art of magicy wizardly stuff. Make sure a wizard is at hand to fix stuff
  • Clients cannot authenticate – uh-oh, the big chiefs PA cannot log in this morning. BIG PANIC. IT staff hide out next door in Krispy Kreme (yum!)

The actual Process…how to Uplift to 2012 R2

Finally, what you actually came here to read. Phew, after all that nonsense upstairs. This is HOW and WHAT you need to do:

1. Get Change Approval and engage with all key stakeholders (CTO, CIO, IT Consultants/Architects, Senior Management, Application owners, Service Line Managers etc.). As stated before, finding out who application and service owners are is critical, both to engage them and keep them informed of the process.

2. Have a Roll Back plan, a method that states the steps to get back to before the next step i.e. as if you never started this.

3. Ensure good and verified backups of existing DCs have been taken, verify any offsite backups and ensure they can be restored without errors if needed

4. Replace/Upgrade/Uplift any existing Server Hardware and older OS (2008, 2008 R2 only) with 2012 R2

5. Add in all new servers with 2012 R2 installed that you may need. Join to your existing Domain as Domain members. Let then just chill out, before battle commences for takeover

6. Jump onto one of the new 2012 R2 servers. Add the AD DS Server Role, this will run AD Prep > SCHEMA Update (the bit that scares you all) > Domain Prep and part of that process is adding this as a new DC. After the update check your AD Schema version, go to a Domain Controller, run regedit and navigate to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NTDS\Parameters

2012 R2 Server Manager
2012 R2 Server Manager

7. Add in some DNS Role servers and allow DNS to replicate (your network has DNS as AD integrated right?! IF using BIND or other DNS Service then you have more work to do in your planning and testing stages)

8. Check that your newly introduced 2012 DCs are fully replicating, use REPLMON and check the event log for errors. In fact check both the System and Application event logs and filter for Warning, Critical, Error events.

9. Test your Apps and Services while 2012 R2 Domain Controllers are running at same time as your old ones

10. If you built new servers then transfer FSMO roles > Move-ADDirectoryServerOperationMasterRole -MyNewServer “Old Role Holder” -OperationMasterRole 0,1,2,3,4

11. Migrate any other roles and services running on existing DCs e.g. DNS, DHCP, CS, AD RMS to new DCs

12. Close down all ‘legacy’ Domain Controllers in a phased approach, always watching for service failures anywhere across your environments. It’s useful to make your Helpdesk aware and to relay any unusual incidents through to you on the Day After the Night Before

13. Pat yourself on the back, it all works nicely. Good job.

Server 2012 – Hurrah!

All these steps can either take an evening or many months to complete. That depends on the size and complexity of your infrastructure.


No good using 2012 R2 if your nice support engineers don’t know PowerShell. Teach them, send them to a course or call me for some quick-fire lessons!

If you spot any errors, have any suggestions, tips or improvements please comment to let me know.

Active Directory Exchange Quest Software SharePoint stash

Migrations – been there, done this…

Always in a state of transition, IT departments around the world are continually deploying new systems, applications and hardware. However one of the biggest changes, and challenges, is the successful migration from an existing infrastructure to a whole shiny new one with all the bells and whistles it comes with.

Let me quickly introduce myself, I’m Zulf and I currently work for Fujitsu as a Solution/Technical Architect mostly on migrations with a particular focus on Active Directory, Exchange and SharePoint.

Preparation, preparation, preparation! That there is my mantra, the first word that comes out of me when looking at any migration. It really doesn’t matter whether the migration is large or small, preparation is key and I’ll tell you why.

Without it you will undoubtedly fail, or if you to manage to somehow struggle through, the stress and strains upon the shoulders of those tasked with the migration will lead them to breaking point. I can truly say I have “been there, done that”, I worked on one of the biggest migrations in the UK – 125,000 seats over a 30 month period – yet the migration of the data (filestore and email) was treated as a minor irritation by the project planners as it was deemed straightforward – copy and paste anyone?

The result? An inefficient, trouble strewn, terrible state of affairs that ended up using more resources than it needed, took twice as long as it should and resulting in levels of stress and anger never before seen in the user environment. The ‘planning’ time set aside for this monumentous migration task (which spanned the whole UK) was a truly dismal 6 weeks.

The fix? Prepare! It is actually quite simple, follow my easily digestible non-technical guide to running a technical migration. Here goes:

Understand what you want to do: What are you trying to achieve? What are your outcomes, timeframe and budget. Your timeframe? Double it now!

Understand how you are going to do it: Identify the tools, resources, expertise and finances needed to effect your change.

Prepare: Lay the groundwork, communicate with the affected parties and create a plan of action in your chosen project methodology. Be realistic with your timelines.

Prepare again: Purchase the products and tools you need, book in the resources and ensure the right equipment and tools are available and accessible.

Prepare once more: Prepare for the unknown. Yes, that’s right – prepare for something you’re not even aware of yet. How? Purposely set aside delays in your project (catch-up days, firebreaks) for the infamous Rumsfeld ‘unknown unknowns’ – use them if you need them, finish up early if you don’t.

Pilot: Once you’ve got what you need find a sample (whether it is users, computers, servers etc. etc.) and run through a mini version of your end to end migration. Yup, the whole thing from start to finish – in some cases you may not be able to go the whole way, but if that means you have to pilot a further change at a later time DO SO!

Deploy & Migrate: Finally that point when you can approach a migration with confidence

If you are indeed planning or going through a migration and need assistance get in touch with me here at my Blog and you can be assured that a friendly and experienced consultant (me!) will respond.

Too often an organisation changes only when forced to, either by policy, necessity (end of life, end of support) or organisational change. It is always best to change when you have the control, so be proactive, look at what’s coming over the horizon and act quickly.

Active Directory Quest Software Technical Fiction

Using SubInACL to dump permissions and re-apply

As usual during a data centre migration at some point you need to move a huge chunk of data. I’ve come across several of these challenges in my years of migration and I usually end up with using the two most reliable yet simplest tools in my ‘migration toolkit’. Robocopy and SubInACL. Of course you have icacls within PowerShell and some of the more recent Windows Server versions, but the oldies are still goodies even in 2014.

The raw copy is the easy bit, just robocopy files from Old Device to New Device using the LAN, WAN or whatever you have at your disposal. If you wish or need to use an interim device for quicker transfer then do so, whether a NAS device or Eclypt drives – just make sure they are encrypted in case of loss during transfer.

Oh just a polite notice, for me Folder=Directory, Directory=Folder – same thing, different word.

So you’ve got the raw data across. Now those pesky NTFS permissions are still needed. 2 ways this can go down, the New Device is either:

  • In the same domain as the Old Device
  • Or in a different domain to the Old Device

If in the same domain, full steam ahead and rush along to the next paragraph. However if it is a different domain between the Old and New devices then you need a Trust in place. Minimum one-way from Old < New (Old Trusts New domain). If you cannot use the trust, then you better hope you have somehow migrated SIDHistory across to your domain user objects OR you are using the same group/user names in the New Domain as you were in the Old domain OR you are able to create a mapping file between the two(!). Did I not tell you it can get quite complex?

Record the Permissions

Full steam ahead here, go to the Old Device. Identify a Folder whose NTFS permissions you would just love to capture and need to re-apply. Type in the following command at a command prompt (ensure you have the subinacl.exe file handy):

subinacl /output=C:\DumpMyOutputFileHerePlease.txt /subdirectories H:\ThisIsTheOldDeviceFolder

The /output switch lets you specify where the NTFS dump file listing all the ACLs will be errrr….dumped(!) This can be anywhere, I’ve just put it in the root of C: in my simple example. I also gave mine an apt and descriptive filename. Just in case I have cause to come back to this file in a few weeks, calling it commandfile.txt just doesn’t help.

/subdirectories is an interesting beast, if you leave it as is, it will capture all NTFS permissions for both FOLDERS and FILES (largest output file size) but changing it to one of the magically delightful options below does something very different:

  • /subdirectories=directoriesonly will only collect FOLDER/DIRECTORY permissions into the /output file (often smallest output file size)
  • /subdirectories=filesonly will only collect FILE permissions into the /output file (often large output file size)

The last bit H:\ThisIsTheOldDeviceFolder has to be the directory/folder whose permissions you need to record.

Once you let the command loose, it creates a file called DumpMyOutputFileHerePlease.txt and this file could be huuuuuuge! Zip it for transport. If it’s too big to Zip then split it using a nifty tool like GSplit.

Replay the Permissions

Now you need to copy that file somewhere, anywhere where you can easily see the New Device copied raw data for example I used C:\Temp.

Run the following SubInACL command to replay the permissions:

subinacl  /playfile C:\Temp\DumpMyOutputFileHerePlease.txt

Now, remember this tidbit of highly useful information. Running this command to replay the NTFS permissions makes one HUGE ASSUMPTION. It assumes that on the New Device you are using the SAME DRIVE LETTER and top level FOLDER as you had on the Old Device.

Heck what if you have done a bit of transformation on your New Device and re-organised the data and top level folder structure. Hopefully you’re just using a different drive letter and maybe just a different top level folder. If that is the case then you need to do 2 things before replaying the permissions.

Open the file DumpMyOutputFileHerePlease.txt

Change every line containing this “H:\ThisIsTheOldDeviceFolder” to whatever it needs to be to match your different drive letter or path e.g. “S:\WeNowUseThisNewFolder” use Find/Replace to seep that up. SAVE the file. You must SAVE it. Replace or Save as New, as long as you SAVE it please.

Once saved just run the exact same command (except now your .txt file has been modified):

subinacl  /playfile C:\Temp\DumpMyOutputFileHerePlease.txt

Good Luck & Good Night.

Coming soon: speeding up ACL application, icacls and 3rd party permissions tooling/reporting.

%d bloggers like this: