Windows Server 2008 R2 (and Windows 7) availability

Hyper-Excited: Windows Server 2008 R2 and Windows 7 will be finalized in the second half of July, which is when they will become available for Partners and MSDN a.s.o., and broadly available (Stores, on new PCs a.s.o.) at the End of October!!!

Windows Server Division Weblog:

Windows 7 Teamblog:


Contacts displayed as containers

At TechEd I was staffing the Windows Server 2008 R2 Active Directory-Booth. We had a lot of interesting questions, scenarios and discussions there.

One interesting issue was a customer who asked us why his contacts in Active Directory are being displayed as containers and how he can take it off. Actually this took us some time to look into it. He had two forests – when he was targeting Active Directory-Users and –Computers against one forest, his contacts were displayed as containers (meaning there was a plus-symbol right next to it and you were able to see it in the tree, with no objects underneath). On the other forest the contacts weren’t displayed as container.

So we had to figure out what’s going on there. And what I’ve actually found is quite interesting, and I believe that more companies are running into this, so I found it worth documenting it on the web.

So what’s going on is that we found out the one forest was extended with the Windows Server 2008 Schema (adprep /forestprep) but the customer is still running Windows Server 2003 DCs. In the Schema of Windows Server 2003 by default there are not any objects who can be “underneath” a contact [1]. In the Windows Server 2008 Schema there are two new objects, which can be underneath a contact. Those are ms-net-ieee-80211-grouppolicy and ms-net-ieee-8023-grouppolicy. You can check this by querying the attribute allowedChildClassesEffective on a contact – this is a constructed attribute which is telling you which objects may be underneath the current object, more specifically which attributes the currently logged on user can create underneath the current object (taken permissions into credit). [2]

dsquery * “cn=My Contact,ou=…,dc=…” –scope base –properties allowedChildClassesEffective

In Powershellv2 (which ships with Windows Server 2008 R2 and in RSAT for Win7 (need to install, see [3]) you can use the following command (make sure that the Active Directory-Module is loaded, either use the shortcut or import-module ActiveDirectory):

get-adobject -identity "cn=My Contact,ou=…,dc=…" -properties allowedChildClassesEffective

In Active Directory-Users and –Computers there is an option in the view-menu which allows you to specify whether you’d like to see users, computers and groups as containers or not. In the version which ships with Windows Server 2008 (or is in the Remote Server Administration Tools of Vista and above) this setting is extended to behave on contacts as well. This setting is local to the computer and overrides any settings in the schema.

So apparently Active Directory-Users and –Computers is querying the schema, sees that contacts may contain other objects and is displaying them as containers, whether you’ve set the view-option or not (in Windows Server 2003 R2 and before) because is doesn’t apply to contacts. This is fixed with the versions which are shipping in Windows Server 2008 or RSAT for Vista and higher.

So if you extended the schema to Windows Server 2008 (R2), but your management consoles are still running on Windows Server 2003 (R2) / Windows XP and prior you’ll see contacts as containers.

There would be a workaround – there is a setting in the display specifiers which is modifying this behavior. It’s in cn=contact-display,cn=409,cn=display specifies,cn=configuration,dc… (your forest-root domain DN, you’ll also have to exchange the 409 with your language version, where 409 equals US-English, 407 would be German a.s.o.). So the workaround is to navigate to the contact-display object, then change the Value for the “treatAsLeaf”-attribute to TRUE (by default it’s <not set>) [4].

While this workaround will work, I wouldn’t actually recommend it, in my eyes the “bug” is not annoying enough that you’d change something in the configuration context. On the other hand, this setting is quite unimportant. So it’s up to you, however as soon as you start working with the Windows Server 2008 (R2) Management Consoles this wont annoy you anymore. So keep migrating 😉


[1] It’s actually not defined in the object what kind of objects can be underneath, but on the child-objects what possible superior it may have.

[2] IMHO Scripting or Programming Best-Practice would mean to query an object prior to creating a child-object for allowedChildClassesEffective to make sure that the current user has the right to create the object.

image[3] The Remote Server Administration Tools for Windows 7 include the Powershell Module for Active Directory. If you open the generic Powershell-Windows you’ll have to import-module ActiveDirectory first (there’s a shortcut installed in Administrative Tools which starts Powershell with this module loaded instead. Note that the PS-Provider relies on the Active Directory Webservice (ADWS), so you need one Windows Server 2008 R2 Domain Controller. ADWS is also announced to be available as Out-of-band Release/Hotfix for Windows Server 2003 and 3008, however this is currently not available. Win7 and WS2k8R2 are also just Release Candidates at this point, however I already want to mention how to do things using PSv2 since we have to get used to this in the AD-World (and it’s pretty impressive actually what you can do with it easily).

[4] Boolean Values in Active Directory are kind of weird – there are three states as opposed to two – either TRUE, FALSE or <not set> if the attribute is empty. Also the reason for a boolean value in general is to keep space limited, you only need one bit usually. However in AD the String of the Word TRUE or FALSE is stores.

Rumors about AD-Snapshots

I’ve recently heard /read some rumors about AD-Snapshots. As I wrote before in Timetraveling Active Directory the new feature of Active Directory in Windows Server 2008 – AD-Snapshots or “the Database Mounting Tool” (how Microsoft calls the technology) how to look at a snapshot / backup can help you recovering data from older states of your Active Directory. I’ve also spoken about this and demoed it in my “A Directory Services Geek’s View on Active Directory Recovery in Windows Server 2008” which was so far presented at TechEd Europe 2007 in Barcelona, the German Windows Server 2008 Launch in Frankfurt, the Directory Experts Conference 2008 in Chicago, TechEd US 2008 in Orlando, and which will pre presented at ICE-Lingen (in Lingen [;)] at the end of August. I’ve also wrote articles about this in the IT-Administrator in March and April this year.

So some rumors:

  • a mounted Database will show you all partitions, however Microsoft only supports the domain partition, the other partitions are not supported.
  • As far as I know it is not supported to recover from snapshots at all, however it works but you have to script. As I mentioned the process is:
    1. Creating a snapshot with NTDSUtil (ntdsutil -> snapshot -> Activate Instance NTDS -> Create)
      Backing up the systemstate (wbadmin start systemstaterecovery -backuptarget:s:)
    2. Mounting a snapshot in the filesystem (ntdsutil -> snapshot -> list all -> mount xyz)
      Restoring the systemstate to an alternative location (wbadmin start systemstaterecovery –version:07/07/2008-14:41 –recoveryTarget:e:\recovery\)
    3. Starting the snapshot / restored NTDS.dit as Read-only directory (dsamain -dbpath c:\$snap…\ntds\ntds.dit -ldapport 10000)
    4. Reanimating the tombstone of the user(s) in question
    5. Getting back additional data out of the snapshot and into production using scripts or ldifde.exe, see my post about converting the LDIF: Converting LDIF-Files
    6. Fixing backlinks: This is not easily done using LDIFs. Remember that Backlinks are not writeable, so you have to retrieve the backlink, then update the forward-link in question. Using LDIFDE this would be hard to accomblish. Most of the time we mostly care about Group Memberships, then we can also use a one-line commandline:
    7. dsget user cn=Ulf,ou=Demo,dc=xyz,dc=com -s localhost:10002 -memberof 
      | dsmod group -addmbr cn=Ulf,ou=Demo,dc=xyz,dc=com
  • you could retrieve information from other partitions, but you’ll also have to script it and be aware that it’s not supported from Microsoft
  • One rumor I’ve recently read: Using ntdsutil to perform an authoritative restore without rebooting in Directory Service Restore Mode. This is also not supported. The only supported way to perform an authoritative restore is in DSRM. However I’ve talked to some of the developers, and they said it’ll work as long as you are rebooting instantly after performing the authoritative restore (to make sure that caches and everything is cleaned), so you can do it without DSRM (stopping AD, performing the non-authoritative and the authoritative restore, then rebooting the machine without restarting AD prior). However it’s not supported!!!!
  • There are tools out there to help you recovering from a snapshot:

If you speak German and you are unable to attend ICE you can see my session at the German Launchevent Online. If you attend ICE come there, the session has been updated [;)].

How many Infrastructure Masters do you have?

There are certain roles in Active Directory – which is a multi-master directory (meaning that every DC can write if he’s member of the domain) – which need a “single-master”, someone who takes care that certain things are only performed once and they are unique.

As we should know, there are five of those “Flexible Single Master Operations”-Masters (FSMOs) (however let’s not get into the discussion why they are called “Flexible” – back in the NT5-beta-days (beta of Windows 2000) they were even called “Floating”). Two which are unique in the forest, and three which are unique in the domain.

FSMOs per forest:

  • Schema-Master: guess what – someone has to be responsible updating the schema and making sure that it’s unique. What a surprise!
  • Domain Naming Master: Same for certain names in the forest, which need to be unique.

FSMOs per domain:

  • PDC-Emulator: the most complex and most important role. Not only reliable to replicate AD-content to NT4-BDCs (not in Windows Server 2008 anyways), but the PDC-Emulator is also the last instance of password changes, he’s targeted by the Group Policy Object Editor, takes care of AD-integrated DFS-Namespace, the PDC-E of the forest-root-domain is responsible for providing the right time to all members of the forest, a.s.o. He’s important, and you need him even if you don’t have NT4 in your domain anymore (hopefully – it’s gray-haired by now).
  • RID-Master: My favorite role, since he reminds me on your account managers at the Octoberfest. Every year we take a lot of customers to the Octobeerfest [;)]. Someone is assigned per table to get beer-coupons for everyone. If he’s running out he has to go to the account manager responsible to get another stack. The RID-Master is doing the same. He’s making sure that RID (the last part of the security-identifier) is unique per domain by giving every DC a stack of RIDs to issue, and if he’s running out of RIDs (meaning that his stack is half-empty / half-full) he’s requesting the next RID-Pool.
  • Infrastructure-Master: He’s the one who makes sure that cross-domain memberships are being taken care of (what a sentence). So what he’s really doing is comparing group-memberships and other cross-domain links against other domains (in the GC), and if some link is targeted at another domain in the forest he’s taking care to create a phantom so that all DCs know what the link-target is. Why is that – lets get out of the “bullet-points”.

If we look at the AD-Database (which is not being replicated – AD does take care of replication – the database is the local store per domain controller) there are two major tables in the database: the data-table and the link-table. Every row in the data-table is a single object, which is referenced by the “Distinguished Name Tag (DNT)”. This is a unique ID for each object in the database (per domain controller – across domain controllers it is very unlikely that the same object has the same DNT – as I said – replication is on the application layer and not on the Database-Layer). However, there is the link-table. The Link-Table is taking care of all links. So all group-members vs. user-member-ofs a.s.o. are stored there with their DNT. If the DC needs to enumerate group members, he’s simply searching in the link-table for the “link-source” and enumerates their targets, if he’s looking for the member-of information of a user he’s searching for the link-destination and enumerates their sources. Sounds logical? Hopefully.

But remember that groups (such as other links) may contain objects of other domains. How would we be able to reference those, they don’t have a row and don’t have a DNT in the domain database. That’s where the Infrastructure-Master kicks in. He’s taking care to create phantom-objects of objects which are referenced in a domain but which are from a foreign domain. So those objects are being created as “small version of those objects” in the domain where they are referenced. They are even smaller than the partitial attribute set which makes it into the Global Catalog. I’ve already blogged about the Global Catalog vs. Infrastructure Master dependency, so for this discussion go there. Also you can look at the Knowledgebase-Article “KB 248047: Phantoms, tombstones and the infrastructure master” on TechNet. The last parts about cross-domain references are the interesting ones in this context.

So how many FMSO-Role owners do we have in our forest?

  • There is one Schema-Master.
  • There is one Domain Naming Master.
  • The number of PDC-Emulators is the same than the number of domains.
  • The number of RID-Masters is the same than the number of domains.
  • The number of Infrastructure Masters is …

How many infrastructure masters do we have?

Most would say “as much as we have domains as well”. Wrong!

And that’s the interesting part – we do have one Infrastructure Master per domain, that’s correct. But – remember that Windows Server 2003 introduced Application Partitions? We would be able to have link-references (they could even be cross partitions, not even domains) in an application partition as well. However if the “Domain Infrastructure Master” wouldn’t hold a copy of the application partition (which has a separate and configurable replication scope – one of our customers has one application partition per site but cross-domain), how would he be able to take care of those cross-partition references? He wouldn’t be able to, there’s no way he could do this.

Therefor we have one infrastructure master per domain, plus one per application partition. So by default, if you have a Windows Server 2003 or higher forest with the default application partitions (for DNS, the forestDnsZones and domainDnsZones), let’s assume five domains, then you have:

  • 1 Schema Master
  • 1 Domain Naming Master
  • 5 PDC-Emulators
  • 5 RID-Masters
  • 11 Infrastructure Masters (5 Domain Infrastructure Masters + 1 for the forestDnsZones + 5 for the domainDnsZones of each domain – however they may reside on the same DC)

Where can I see the application partitions infrastructure masters?

To see where the IMs of the application partitions reside, you have to go into active directory with any tool like adsiedit.msc, ldp or whatever you prefer. Connect to the application partition, navigate to the cn=Infrastructure-object underneath the application partitions root, and look at the fSMORoleOwner-Attribute. It’s pointing to the NTDSSettings-Object of the server who currently holds the role. You can also use dsquery to do this:

dsquery * cn=Infrastructure,dc=domainDnsZones,dc=example,dc=com -attr fSMORoleOwner

If you want to figure out what partitions you have in the forest, you can use the following command:

dsquery * cn=partitions,cn=configuration,dc=example,dc=com -attr nCName

And if we only want application partitions, we add the filter (systemflags=5) which means that we are looking for all partitions which don’t replicate to the global catalog, which is the case for application partitions (Note: App-IMs may reside on GCs therefore [;)] ):

dsquery * cn=partitions,cn=configuration,dc=example,dc=com -filter "(systemflags=5)" -attr nCName

And for those of you who like small one-line commands, they can figure out who the infrastructure master is for all application partitions (as said, all in one line):

for /f %i in ('dsquery * "cn=partitions,cn=configuration,dc=example,dc=com"
-filter "(systemflags=5)" -attr nCName ^| find /v "nCName"') do
@echo %i && dsquery * cn=Infrastructure,%i -attr fSMORoleOwner

Have fun [;)]

But why do I care about application partitions infrastructure masters?

Actually I had a conversation about this in Redmond a couple years ago, that there’s a infrastructure master for every application partition. I had actually forgotten about this, until a collegue of mine told me about an issue when preparing your forest for Windows Server 2008 Read-Only Domain Controllers (RODCs).

If you want to prepare your forest for Windows Server 2008 Read-Only Domain Controllers, you have to run “adprep /rodcprep”. This command is setting permissions so that RODCs are able to replicate content. RODCs are not in the Domain Controllers Group, so by default they don’t have sufficient permissions. Since RODCs may hold Active Directory-integrated DNS-Zones, they are also required to have those permissions on the application partition. Since we cannot be sure that a certain DC holds all application partitions – for domainDnsZones that’s granted if you have multiple domains – and since it’s not granted that the domains Infrastructure Master holds the application partitions in this domain (e.g. if he’s not DNS-Server, he doesn’t hold the domainDnsZones of his own domain as well) Microsoft decided to target the IMs with this command (we are still at “adprep /rodcprep”).

Many companies have either reinstalled DCs or took DCs down. One of the DCs which has often been taken down is the first DC in the forest, either because he’s being updated from a previous OS or because it was old hardware, hardware-failures a.s.o. However, the first DC in the forest also holds the application partition infrastructure master (let’s introduce the acronym AP-IM and D-IM, second for the domains infrastructure master) for the forestDnsZones and for the domainDnsZones of the forest root domain. When administrators took down those DCs, they moved FSMOs because they know it’s the right thing to do. However, if you use either the MMCs or ntdsutil to move the FSMOs (KB 324801: How to view and transfer FSMO roles in Windows Server 2003 and KB 255504: Using Ntdsutil.exe to Seize or Transfer FSMO Roles to a Domain Controller) the AP-IM will not be moved automatically.

So it is very likely that a company has application partitions which do not have an infrastructure master, because the server is offline/removed and the role hasn’t been transferred.

Is it critical if the application partition infrastructure master is not available anymore?

No, in most cases it’s not. E.g. the default application partitions are used by DNS only, and only store the DNS-Zones and the dnsNode-Objects which reflect the records. They don’t use links, therefor there’s no need for an infrastructure master at those application partitions. However, you need to fix this for sure if you want to introduce Windows Server 2008 Read-Only Domain Controllers to be able to run “adprep /rodcprep”. You can either do this manually by simply changing the attribute fSMORoleOwner of the cn=Infrastructure,dc=<your-application-partitions-dn>-Object with the distinguishedName of the NTDSSettings-Object of the server who’s supposed to hold the role. The issue is also described in KB 949257: Error message when you run the “Adprep /rodcprep” command in Windows Server 2008: “Adprep could not contact a replica for partition DC=DomainDnsZones,DC=Contoso,DC=com” which also provides you with a VBScript to change the role owner.

IT-Administrator in Heidelberg

I’m writing for the German magazine IT-Administrator. Recently they’ve published an series about Windows Server 2008 and another about Active Directory-Recovery (in Windows Server 2008), and in August they’ll publish an article about Hyper-V from me.

Recently they’ve asked me if I could present a half-day Workshop in Heidelberg. Last Thursday we did this, and the day was exciting and interesting. A lot of good questions, a very interested audience, and I really enjoyed being there. Here are two pictures (and no – I wasn’t just sitting around – for some reason they took the pictures while I was demoing AD-Snapshots):

P1000044 (2) P1000046 P1000048

Why Clients don’t (need to) understand the concept of Read-Only Domain Controllers (RODC)

Hi There,


just back from TechEd, it’s time for some technical posts. So one of the questions I got very often is what you need in your infrastructure to deploy read-only Domain Controllers. Along with that question goes what Client-Version of the Operating System is needed that they are able to authenticate with an RODC.

What is a RODC?
The Read-Only Domain Controller is a new concept in Windows Server 2008. While a regular Domain Controller allows updates to the domain contents on each DC, an RODC is only receiving updates from Full DCs. He will not take any write requests. He is further not replicating any password or cached secrets. This distinguishes him from a NT4 Backup Domain Controller (BDC), who had all passwords stored locally. Also he is – in every other means – a full domain controller and LDAP-Server, also stores all GPOs in Sysvol. To allow offline operations (when the WAN to the RODC-Site is failing) Administrators are able to configure if certain users passwords are allowed to be cached, by putting them in a group which is in the allow list. There is also a group whos passwords are denied to be cached, even if they are in the allow list. List group contains by default certain administrative accounts, such as domain administrators, enterprise administrators, the operators groups a.s.o.
The RODC is built for the unsecured Branch-Office or for the DMZ/perimeter network, where you are either unable to ensure the physical security of a DC or where the environment is untrusted.

So the first thing you need is to prepare your existing infrastructure. The RODC is a Domain Controller, so you need to update the schema. Further the RODC needs some assistance from a Full-DC, so you need to deploy enough Full-DCs to allow replication to the RODCs. For most environments one Full DC should be sufficient (RODCs only replicate inbound, not outbound, which also increases performance and decreases replication traffic), however I’d always prefer a second one to allow redundancy. To prepare the schema you need to perform the forestprep and domainprep operations (adprep /forestprep and adprep /domainprep), if you want to deploy RODCs you also need to perform a adprep /rodcprep in every domain of the forest to allow a Global Catalog on the RODC. However you do not need a Windows Server 2008 DC in Domains where you don’t want to deploy RODCs. However two: there are other reasons why you should deploy Windows Server 2008 [;)].

But how do RODCs perform certain functions? They can take the role of a Global Catalog server and of a DNS-Server. If a client (member-servers might also be clients to Active Directory, even the domain controller itself – his OS – might be a client to AD) tries to write against an RODC the RODC is using LDAP write referrals to tell the Client that he is supposed to write to a different DC (a Full Windows Server 2008 DC). LDAP referrals have been defined e.g. in RFC 2551 back in 1997, so LDAP-applications should be able to follow them.

And how is a logon performed against the RODC? The user is actually performing the logon against the RODC. The RODC is looking in his local AD to verify whether or not he’s able to verify the users password. If he has no cached copy of the password he is forwarding the request to a full DC. Further he is requesting the full DC to replicate the password down to him, the full DC checks the allow- and deny-lists and decides whether or not to replicate the password down. The full DC further issues a kerberos ticket for the client. The RODC is informed that the client may log on, and the RODC is issuing his own kerberos ticket for the client. All other things of the logon process, such as compiling the token with group membership information and pulling down group policies is done against the RODC. If the user logs on another time, and the password is cached on the RODC, the RODC does not need to contact the full DC and is able to process the logon-request even if the WAN is offline.

The other thing are DNS updates. Clients in the Branch Office (or Remote Office how we prefer to call it nowadays) are supposed to use the local DNS-Server. However they might update their DNS-Records, which is totally acceptable. But if the RODC is not writeable, and DNS is stored in AD, and actually the DNS-Zones on a RODC are not writeable too, how are those updates performed. This answer is actually quite simple. We Windows Admins got spoiled over time, since our DNS-Servers – when the zone is stored in AD – allow updates on any DNS-Server which is also a DC and holds a copy of the AD-integrated Zone. However think back to the concepts of DNS. We always had a single primary DNS-Server who was able to write updates, and multiple secondaries who were just able to answer to queries. Clients who want to write in DNS had to request a SOA (start of authority) Record for the zone they want to write into. Full DCs who are DNS-Servers with an AD-integrated replica of the Zone were always answering with themselves as SOA (the SOA-Record only allows one Server, and there is only one SOA per Zone, as opposed to Nameserver (NS) Records where are multiple per DNS-Zone). RODCs don’t have an SOA for themselves, they hold a SOA which is stating the Name of a Full DC. So that is simple, Clients who want to write into DNS are still (same technology as in the 80th) querying the zone for it’s SOA, and then they are contacting the Server which is stated in the SOA to write the update. But RODCs provide some intelligence as well – if a client was contacting them for the SOA they wait for a moment to allow the client to update his record, then they are requesting a single-object-replication from the Full DC for the Clients DNS-Record so that the DNS-Information at the clients site is updated as soon as possible, while any other site will receive it with the regular replication.

So Clients / Memberservers and other machines should be able to run against RODCs. However, there are certain things which might affect this statement:

  • The Read-only partitial attribute set (RO-PAS): It is possible to define in the schema that certain attributes should not be replicated to RODCs. However the application needs to be aware of this, since those requests are not referred to a full DC.
  • Replication latencies: if an application is performing a write request it will be redirected to a full DC. If the application tries to read that data again before replication occurs, the RODC will still return the old data. If you want to make sure that your applications write against RODCs be aware of this issue, and look for a writeable DC when you perform write/readback-operations or make sure that you are not using write/readback (but stick against the RODC if you only perform read operations, otherwise you will slow down your application since it’s always crossing the WAN).
  • Firewalls: especially in DMZ-Scenarios your clients might not have a connectivity to a full DC, so write referrals will fail. Make sure that you don’t need write requests in those scenarios.
  • WAN-Offline: write operations will also fail in this scenario

I hope I was able to get some lights behind RODCs, theres a lot of more information available online, e.g. look at the following page: Application Compatibility with RODCs



Impressions of the Directory Experts Conference

Today is day one of the Directory Experts Conference in Chicago. So far the conference has been very good – but that was as expected. I had one session today right before lunch, “A Directory Services Geek’s View on Active Directory Recovery in Windows Server 2008”. Went quite well, however the power-plug on stage was switched off so my machine decided to go into sleep-mode during the presentation. For some reason this session is attracting Laptop-issues, during the Launch in Frankfurt the virtual machine decided to “unexpectedly shutdown”. Things happen, that’s part of the fun, isn’t it?

CIMG0031  CIMG0037  CIMG0039

HEROS happen {here}

For the past three days I was at the Microsoft Launch Event Germany, the first and as we were told biggest (by the number of attendees) Launch for Windows Server 2008, Visual Studio 2008 and SQL Server 2008. I did three presentations:

  • Active Directory-Domänendienste in Windows Server 2008
    (Active Directory-Domainservices in WS2k8)
  • Erfahrungen eines Directory Services-Experten mit Sicherheit und Delegation im Active Directory
    (A Directory Services-Geek’s View on Access Control Entries)
  • Erfahrungen eines Directory Services-Experten mit Active Directory-Recovery mit Windows Server 2008
    (A Directory Services Geek’s View on Active Directory-Recovery in Windows Server 2008)

The event was very good and very successful as far as I can see. There were minor issues, e.g. on the first day it wasn’t that clear which sessions are in which rooms, and the acoustic was pretty bad in some of the rooms since you were able to hear the other speakers of the other rooms as well (luckily two of my presentations were in the good rooms), but over all I was very satisfied. A lot of good and experienced speakers, interested and interesting attendees with good questions and suggestion, a great event. Overall there were about 7500 people in Frankfurt attending this event.

I’ve also got a view good ideas for some new blog-posts, so stay tuned.

And now it’s time to get ready for the Directory Experts Conference 2008 in Chicago in the first week of March. I’ll also present there the “Directory Services Geek’s View on Active Directory-Recovery in Windows Server 2008” session.

Congrats Microsoft: Windows Server 2008 is RTM

I cannot state it any better: the best Windows Server release ever has been released to manufacturing – Windows Server 2008 is finished.

Windows Server 2008 is very stable and very well-done for production use. As I wrote before we at Computacenter are using it since October 2007 in Production, and I have a customer where we already run a full shop only on Vista and 2k8 since September (on Beta 3).

And we’ve also done a lot of things, to quickly recap just what we’ve done with customers was a 10-city Roadshow in Germany (half-day sessions on WS2k8, last one will be in Berlin next week), countless presentations at customer or trade shows / events, countless sessions to make sure our staff is ready to sell and deliver WS2k8-Solutions, one press-release in October, and a couple references which will be published shortly.We will be with many people at the German Launchevent, are partner there with a booth, and I’ll deliver 3 sessions plus a interactive one, created many flyers and solutions around the product, … just being ready to deliver.

I’m very excited about the new product – let’s start deploying more of it!

And here are the blogs which will give you a feeling how it was at Microsoft in the last couple hours:

Windows Server 2008 – RTM!!!

Windows Server 2008 – A time to sit back, remember and party!

I’m on the Edge [;)]


Last week I was at TechEd:IT-Forum in Barcelona. I’ll follow up with more details later. However the guys from have done an interview with me, which went online last night. I was speaking about my sessions, AD Restore in Windows Server 2008 and Schema Updates.

You can find it currently on the homepage, and here’s the direct link for later:

Ulf on AD at TechNet Edge