Search Jamil Mania

Wednesday, 31 March 2010

GAL Photos in Exchange 2010 and Outlook 2010

Over the years, displaying recipient photographs in the Global Address List (GAL) has been a frequently-requested feature, high on the wish lists of many Exchange folks. Particularly in large organizations or geographically dispersed teams, it's great to be able to put a face to a name for people you've never met or don't frequently have face time with. Employees are commonly photographed when issuing badges/IDs, and many organizations publish the photos on intranets.

There have been questions about workarounds or third-party add-ins for Outlook, and you can also find some sample code on MSDN and elsewhere. A few years ago, an IT person wrote ASP code to make employee photos show up on the intranet based on the Employee ID attribute in Active Directory (AD) - which was imported from the company's LDAP directory. A fun project to satisfy the coder alter-ego of the IT person.

Luckily, you won't need to turn to your alter-ego to do this. Exchange 2010 and Outlook 2010 make this task a snap, with help from AD. AD includes the Picture attribute (we'll refer to it using its ldapDisplayName: thumbnailPhoto) to store thumbnail photos, and you can easily import photos— not the high-res ones from your 20 megapixel digital camera, but small, less-than-10K-ish ones, using Exchange 2010's Import-RecipientDataProperty cmdlet.

The first question most IT folks would want to ask is— What's importing all those photos going to do to the size of my AD database? And how much AD replication traffic will this generate? The attribute is limited to 10K in size, and the cmdlet won't allow you to import a photo that's larger than 10K. The original picture used in this example was 9K, and you can compress it further to a much smaller size - let's say approximately 2K-2.5K, without any noticeable degradation when displayed at the smaller sizes. If you store user certificates in AD, the 10K or smaller size thumbnail pictures are comparable in size. Storing thumbnails for 10,000 users would take close to 100 Mb, and it's data that doesn't change frequently.

Note: The recommended thumbnail photo size in pixels is 96x96 pixels.

With that out of the way, let's go through the process of adding pictures.

A minor schema change

First stop, the AD Schema. A minor schema modification is required to flip the thumbnailPhoto attribute to make it replicate to the Global Catalog.

  1. If you haven't registered the Schema MMC snap-in on the server you want to make this change on, go ahead and do so using the following command:

    Regsvr32 schmmgmt.dll

  2. Fire up a MMC console (Start -> Run -> MMC) and add the Schema snap-in
  3. In the Active Directory Schema snap-in, expand the Attributes node, and then locate the thumbnailPhoto attribute. (The Schema snap-in lists attributes by its ldapDisplayName).
  4. In the Properties page, select Replicate this attribute to the Global Catalog, and click OK.

    Figure 1: Modifying the thumbnailPhoto attribute to replicate it to Global Catalog

Loading pictures into Active Directory

Now you can start uploading pictures to Active Directory using the Import-RecipientDataProperty cmdlet, as shown in this example:

Import-RecipientDataProperty -Identity "Bharat Suneja" -Picture -FileData ([Byte[]]$(Get-Content -Path "C:\pictures\BharatSuneja.jpg" -Encoding Byte -ReadCount 0))

To perform a bulk operation you can use Get-Mailbox cmdlet with your choice of filter (or Get-DistributionGroupMember if you want to do this for members of a distribution group), and pipe the mailboxes to a foreach loop. You can also retrieve the user name and path to the thumbnail picture from a CSV/TXT file.

Thumbnails in Outlook 2010

Now, let's fire up Outlook 2010 and take a look what that looks like.

In the Address Book/GAL properties for the recipient


Figure 2: Thumbnail displayed in a recipient's property pages in the GAL

When you receive a message from a user who has the thumbnail populated, it shows up in the message preview.


Figure 3: Thumbnail displayed in a message

While composing a message, the thumbnail also shows up when you hover the mouse on the recipient's name.


Figure 4: Recipient's thumbnail displayed on mouse over when composing a message

There are other locations in Outlook where photos are displayed. For example, in the Account Settings section in the Backstage Help view.

Update from the Outlook team

Our friends from the Outlook team have requested us to point out that the new Outlook Social Connector also displays GAL Photos, as well as photos from Contacts folders and from social networks, as shown in this screenshot.


Figure 5: Thumbnail photos displayed in the People Pane in the Outlook Social Connector

More details and video in Announcing the Outlook Social Connector on the Outlook team blog.

Sunday, 28 March 2010

Microsoft File Server Migration Toolkit 1.2 available as a free download


Microsoft released the File Server Migration Toolkit version 1.2 (FSMT 1.2), which will help you migrate file shares from computers running Windows NT 4.0 Server, Windows 2000 Server, Windows 2003 Server, Windows Server 2008 and Windows Storage Server 2008 to computers running Windows 2003 Server, Windows Server 2008 and Windows Storage Server 2008. You can use it to consolidate multiple file servers or simply to migrate files between servers.

This is an update to the previous FSMT 1.1 that fixes an issue with Windows Server 2003 clusters. This version has also been tested with the Windows Server 2008 R2 Release Candidate (full support for Windows Server 2008 R2 is expected and will become official after tests with the final release, which should be out later this year).

Here are the main benefits of FSMT:

  • Simplifies the complex and error-prone migration process of SMB shares and data
  • Maintains UNC paths and eliminates broken shortcuts and links
  • Maintains security settings after the migration
  • Consolidates shared folders with the same names from different servers
  • Supports server clusters as source and target file servers
  • Provides roll-back functionality
  • Support for Windows Server 2008 and Windows Storage Server 2008
  • Includes both the DFS Consolidation Root Wizard and the Dfsconsolidate.exe command-line tool
  • Available in 5 languages (English, French, German, Japanese and Spanish)

Here's a screenshot:

 

Download and test it today from
http://www.microsoft.com/downloads/details.aspx?FamilyID=d00e3eae-930a-42b0-b595-66f462f5d87b&DisplayLang=en

Also, be sure to also visit the FSMT Web Site at
http://go.microsoft.com/fwlink/?LinkId=128527

Microsoft Hyper-V R2 Host Clustering and High Availability

Microsoft Hyper-V R2 Host Clustering and High Availability


 

There are many ways to implement Windows Server Failover Clustering with Hyper-V. I could actually find five unique methods to do it. Some of them will actually not give you a fully fault-tolerant solution, but most of them actually make sense in specific scenarios (even if only for demonstrations). In any case, just trying to understand and differentiate them will probably be a good exercise.

1 – Parent-based Failover Clustering with two physical servers

In this first scenario, probably the most common one, you implement Windows Server 2008 Failover Clustering at the Hyper-V Parent (Host) level. You will need some shared storage, like a Fibre-Channel or iSCSI SAN.

Here is a diagram describing the scenario before a failure:


Here is a diagram describing the scenario after a failure:


As you can see, this can survive the failure of one of the physical servers. In fact, if you have a redundant network and storage infrastructure (not shown above), you can have a truly highly available solution.

Additional details about this solution (including screenshots on how to configure it) are available at http://blogs.technet.com/josebda/archive/2008/04/14/snw-demo-windows-server-2008-core-hyper-v-and-failover-clustering-with-screenshots.aspx

2 – Child-based Failover Clustering with two physical servers

In this second scenario, you implement Windows Server 2008 Failover Clustering at the Hyper-V Child (Guest) level. In this case, your shared storage must be an iSCSI SAN.

Here is a diagram describing the scenario before a failure:


Here is a diagram describing the scenario after a failure:


This one can also survive the failure of one of the physical servers. Given redundant network and storage infrastructure (not shown above), you can again have a truly highly available solution.

3 – Mixed Physical/Virtual Failover Clustering

This third scenario is probably is one of the more unusual ones, but I have been asked about it at least a couple of times. Here you have a physical server clustered with a virtual one. If the physical server fails, the virtual sibling will take over the workload. This scenario uses dissimilar hardware with Failover Clustering, but if this is running Windows Server 2008, you can likely make it work. Just make sure you run the Failover Clustering Validation Wizard to confirm this is supported in your specific configuration. In this case, because you need to expose the LUNs directly to the child partition, your shared storage must again be an iSCSI SAN.

Here is a diagram describing the scenario before a failure:


Here is a diagram describing the scenario after a failure:


This can also survive the failure of one of the physical servers. If you configure the network and storage infrastructure to be fault tolerant (not shown above), you can have yet another truly highly available solution.

4 – Failover Clustering with two child partitions on one physical server

This scenario is also common. Here you have a single physical server running Hyper-V and two child partitions where you run Failover Clustering. If the physical server fails, both (virtual) cluster nodes will fail. Obviously, this is not useful for true high availability, but could be interesting for testing, training or demonstrations. In this case, your shared storage must be an iSCSI SAN.

Here is a diagram describing the scenario before a failure:


Here is a diagram describing the scenario after a failure:


This scenario cannot be made truly highly available even if your network and iSCSI SAN are redundant, since you have the physical server running Hyper-V as a single point of failure. The simulated failure can be achieved by turning off one of the child partitions in Hyper-V.

5 – Standalone demo laptop with Virtual iSCSI SAN

This last scenario is something I also get asked a lot. The goal here is to have a single laptop hosting an entire Failover Clustering demo with Hyper-V. In order to accomplish this, you need a virtual iSCSI SAN plus two child partitions to play the role of cluster nodes. To be the virtual iSCSI SAN, you can use an evaluation version of the Microsoft iSCSI Software Target described at http://blogs.technet.com/josebda/archive/2008/01/07/installing-the-evaluation-version-of-wudss-2003-refresh-and-the-microsoft-iscsi-software-target-version-3-1-on-a-vm.aspx. This is certainly not a true highly available solution, but it can be an interesting demo machine with no external network dependencies.

Here is a diagram describing the scenario before a failure:


Here is a diagram describing the scenario after a failure:


As with the previous scenario, this one cannot be made truly highly available, for obvious reasons. In fact, this one only really makes sense for demonstrations or training. The simulated failure can once again be achieved by turning off one of the child partitions in Hyper-V.

Conclusion

I hope this helped you understand the different options for using Failover Clustering with Hyper-V. Note also that you can combine some of these solutions, like the first and the second (some VMs using parent-based and some using child-based failover clustering).

For production use, it's probably wise to restrict yourself to the first two scenarios. However, if you have a Hyper-V capable laptop and some free time, I would encourage you to try out the last one. Although not a supported production solution, it will certainly teach you a lot about all the technologies involved…

Links 

Additional information about Windows Server 2008 Failover Clustering support
http://support.microsoft.com?id=943984

Failover Clustering support in previous versions of Windows Server
http://support.microsoft.com/?id=309395.

Step-by-Step Guide to Getting Started with Hyper-V
http://www.microsoft.com/downloads/details.aspx?FamilyID=bcaa9707-0228-4860-b088-dd261ca0c80d&DisplayLang=en

Step-by-Step Guide for Testing Hyper-V and Failover Clustering
http://www.microsoft.com/downloads/details.aspx?FamilyId=CD828712-8D1E-45D1-A290-7EDADF1E4E9C&displaylang=en

Failover Cluster Step-by-Step Guide: Configuring a Two-Node File Server Failover Cluster 
http://technet2.microsoft.com/windowsserver2008/en/library/adbf1eb3-a225-4344-9086-115a9389a2691033.mspx

Additional details on Storage Options for Hyper-V
http://blogs.technet.com/josebda/archive/2008/02/14/storage-options-for-windows-server-2008-s-hyper-v.aspx 
http://blogs.technet.com/josebda/archive/2008/03/06/more-on-storage-options-for-windows-server-2008-s-hyper-v.aspx.

Microsoft Hyper-V R2 Host Clustering and High Availability

Thursday, 25 March 2010

Computer Professional Trainings Courses

Computer Trainings Offered in Dubai , U.A.E

  1. MCSE
  2. A+
  3. Virtualization Hyper-V or Vmware
  4. Hp Server
  5. Exchange 2007
  6. Exchange 2010
  7. Firewall - ISA2006 , ISA2004 and ForeFront Threat management Gateway
  8. Storage Area Network : Netapp
  9. CCNA
  10. Network+
  11. Security Essential
Jamil
050-3023265
055-8830265

Sunday, 14 March 2010

Dual Boot from VHD Using Windows 7 and Windows Server 2008 R2

Executive Summary

Boot from VHD is a new technique for installing and maintaining operating system environments. Unlike virtual machines, the operating system that is running from a “boot from VHD” environment is using the actual hardware instead of emulated hardware. This means a developer could easily use WPF and the full GPU processing power of a high end graphics card. In another scenario, this technology makes it easy to setup and run Windows Server 2008 R2 with the Hyper-V role, thus supporting 64 bit virtualization workloads.

The Virtual Hard Disk (VHD) is the container for the installed operating system. Because everything is inside a single file, there are a number of benefits that can be realized for data center server environments, as well as managed desktop environments. The following article dives into the technical details of implementing two operating systems. Both are installed in a VHD file and can easily be booted by selecting the preferred environment at power on. This could easily be scripted and automated.

The Installation Foundation – Windows PE

The Windows Preinstallation Environment (WinPE) has been updated for Windows 7 and Windows Server 2008 R2. One of those improvements is the ability to use a Virtual Hard Disk (VHD) file as the target for an installation of the operating system (OS).

This has some interesting implications. Booting from a .VHD file that contains an entire OS seems rather magical. I mean think about it. You go to look at a hard drive and there’s a single file but Windows Server 2008 R2 is installed inside it. This would certainly simplify the ability to boot your servers on a completely new environment with little effort. This is going to turn change management on its ear.

The same is true for the desktop OS, Windows 7. You can install Windows 7 inside a .VHD file. Again, the OS is installed inside a single file and thus makes it rather easy to move or change out and bring up a completely different version of the environment. This will make test environments for developers super easy to construct and test discrete sets of applications or components.

One thing that is not well known is how easy it is to create the initial .VHD file and install the operating system into it. The supported and documented ways are geared towards very well defined support scenarios. You can see the supported scenarios in the Windows Automated Installation Kit (WAIK). Most people have been reluctant to take the time to learn this because it involves the use of imagex captures and applies.

What if you could install with just the DVD?

You can. All you need is a hard drive with disk space and the DVD for Windows 7 RC or Windows Server 2008 R2 RC. In fact, when I was investigating the tools for this article I used a brand spanking new Hitachi 2.5” 320GB 7200rpm hard drive and both DVDs to create a dual boot environment. Nothing more. And it’s much simpler than I thought. The key is WinPE and DISKPART. Here is the screencast demonstration of the tools in action.

The Screencast Video – 23 minutes – Win7 and R2 Dual Boot via VHD

The Command Sequence Used in the Video

  1. Boot your machine with a blank hard drive using the Windows 7 DVD.
  2. Click next on the language screen if English is appropriate.
  3. SHIFT+F10 to launch a WinPE command console. Although the commands below are in upper case, the commands are not case sensitive. I am only using upper case for readability here.
  4. Enter DISKPART to run the utility.
  5. LIST DISK to see the available disks in your system. I am assuming a single raw disk.
  6. SEL DISK 0
  7. CREATE PARTITION PRIMARY
  8. FORMAT FS=NTFS QUICK
  9. LIST VOL
  10. ASSIGN
  11. LIST VOL
  12. CREATE VDISK FILE=c:\windows7rc.vhd MAXIMUM=200000 TYPE=EXPANDABLE
  13. SELECT VDISK FILE=c:\windows7rc.vhd
  14. ATTACH VDISK
  15. CRE PART PRI
  16. FORMAT FS=NTFS QUICK
  17. ASSIGN LETTER=V:
  18. LIST VOL
  19. LIST VDISK
  20. exit DISPART
  21. exit WinPE command console
  22. Install to the newly created 200GB (fuzzy math) virtual hard disk which looks just like a partition to Windows Setup
  23. Repeat steps 11-18 for the Windows Server 2008 R2 VHD but with the obvious changes for the vdisk filename, size, etc.

Other References and Articles

Windows Automated Installation Kit (WAIK) for Windows 7 and Windows Server 2008 R2 RC – get it @http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=60a07e71-0acb-453a-8035-d30ead27ef72. This is the bible for the supported methods of using “Boot from VHD”.

Windows Virtualization Blog – see their VHD boot post athttp://blogs.technet.com/virtualization/archive/2009/05/14/native-vhd-support-in-windows-7.aspx. Particularly interesting is the performance area of the post.

Knom’s Developer Corner – another nice post athttp://blogs.msdn.com/knom/archive/2009/04/07/windows-7-vhd-boot-setup-guideline.aspx.

So What’s Next ???

Tomorrow I am going to backup my existing Windows 7 production hard drive. Windows 7 is installed in the traditional fashion on a 200GB drive right now. I am going to restore the backup to a larger disk then install Windows Server 2008 R2 RC into a .VHD and test mixing them. That’s a bit of a hybrid and one I think a lot of developers might be interested in. It would certainly demonstrate you can have a traditional implementation of your production OS, but flip to any other Windows Server 2008 R2 or Windows 7 testbed very easily. I’ll follow-up here or another post when I get that implemented. Enjoy.

[UPDATE for 5/23/2009] As I indicated just above, I wanted to run an extension of the test I recorded. I backed up my 200GB Windows 7 RC environment then restored it to a 320GB drive. After that, I booted from the Windows Server 2008 R2 RC DVD and created a bootable VHD with R2 inside. The VHD is stored in a folder at the root of my 320GB disk. The R2 setup program fixed up the bcdstore area and I now have a dual boot hybrid. Windows 7 is installed in the traditional manner. R2 is booting from the VHD. Both are available on the selection menu at power up. Interesting stuff for sure

Welcome to Jamil rashdi's Technology Paradise

Hi everyone , My name is Jamil Rashdi.I have been inInformation Technology Since 1986.I have been evaluate diffrent technology starting fromcommodore64 till intel Xeon 64 Servers either physical or virtual.I will do my level best to keep you posted in all my Expertease Domain which from E-mail (Microsoft) till datacenter 9TIA942)