Create Exchange Address Lists

For quick creation of exchange address lists, EAC or EMC can be used, when only a subset of AD attributes are needed for creating filter (AD container, State or Province, Company, Department, ExchangeAtribute1-15). If these attributes does not meet your needs for creating filter, Exchange Powershell is your friend. New-AddressList contains RecipientFilter parameter for creating advanced queries for filtering recipients. For more info about filterable properties that can be used in RecipientFilter parameter please check the following article : https://technet.microsoft.com/library/bb738157(EXCHG.80).aspx .

For example:
New-AddressList -Name TestList -RecipientFilter {((Alias -ne $null) -and (((Recipienttype -eq 'UserMailbox') -or (Recipienttype -eq 'MailUniversalDistributionGroup') -or (Recipienttype -eq 'MailUniversalSecurityGroup') -or (Recipienttype -eq 'PublicFolder')) -or ((Recipienttype -eq 'MailContact') -and (ExternalEmailAddress -like '*domain.com'))))}
In this example, TestList address list is created with following requirements: Alias is set and recipient types are UserMailbox, UniversalDistributionGruoup, UniversalSecurityGroup, Publicfolder and only Mailcontacts that have domain.com in their External Email Address.
 

Slow User Experience on Every Logon

In this case a colleague of mine was complaining that every time she reboots the workstation with Windows 8.1 x64 installed, and successfully login, she will have to wait for about 10 minutes before the operating system becomes responsive again and the disk utilization for these 10 minutes was 100%.
Process responsible for this high disk utilization was taskhostex.exe. Taskhostex.exe and taskhost.exe are host processes for Windows Tasks. For example, these three tasks are running under taskhostex.exe:



Wininet Cache Task is triggered whenever user is logged on. During my colleague's logon, the disk was heavily utilized by the taskhostex.exe and a file with most disk reads and disk writes operations was WebCacheV01.dat located on C:\users\userprofile\AppData\Local\Microsoft\Windows\WebCache. Starting from Internet Explorer 10, browser cache is stored in this database instead in index.dat as was in previous editions of Internet Explorer.
In this case, my colleague's WebCacheV01.dat was around 3GB (Initial size is around 20-30 MB).
In order to improve my colleague's logon experience, I've killed the taskhostex.exe process (Internet Explorer was already closed), and deleted the contents of  C:\users\userprofile\AppData\Local\Microsoft\Windows\WebCache and rebooted the workstation.
After the reboot, my colleague has logged on successfully with low disk utilization and newly created WebCacheV01.dat database.

I hope it will help someone debugging slow user's logons ...
 

Internal Storage Enclosure Device Failure on HP DL380 Gen8

In this case, I was experiencing error notification from HP DL380 gen8 server ILO. The error message logged into Integrated Management Log was classified as Critical with following description:
Drive Array Controller Failure (Slot 0)
Also, there was a triggered ILO SMTP alert message with following subject :
(CRITICAL) Internal Storage Enclosure Device Failure

From the following alert there must be something bad happening to the specified HP DL 380 Gen8 server, but he operating system running on that server was running without any problems. Also, there were no errors generated on HP ACU (Array Configuration Utility) on specified server. So, my conclusion was that ILO on that server has generated "false positive" alert. I've decided to reset the ILO. I guess, the easiest way to reset the ILO is using the ILO web interface:
Information->Diagnostics->Reset iLO
After resetting the iLO, the alert was resolved, and there were no open issues with that HP DL 380 gen8 server.

There is published HP customer advisory regarding this issue, suggesting to upgrade iLO and Smart Array Controller Firmware on following link:
http://h20566.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c03384383&lang=en-uk
 

Windows 10 Free Upgrade Available in 190 Countries

Windows 10 is now available for download.
For more info, please check Microsoft Windows official blog http://blogs.windows.com/launch/ .

For those who have MSDN subscription, Windows 10 is also available for download:

Happy upgrading :)

BSOD on VM after installation of Hyper V Integration Services

In this case, Windows Server 2003 R2 physical server was converted (captured) into guest VM on Hyper V cluster based on Windows Server 2012 operating system. Physical disk drives were successfully captured into VHDs. Virtual machine has booted successfully, and installation of hyper v integration services was initiated. Installation of integration services, was requesting reboot of the VM. After the restart, the VM was failing to boot with BSOD, and was complaining about WDFLDR.sys.
In order to fix this situation, I've booted the vm into last known good configuration. Checked the following registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000: There was Group (REG_SZ) value and was having Base for the value data.
Changing the data into WdfLoadGroup :

 
 
And, installing the Hyper V Integration Services has fixed the issues. Installation of Integration services requested for restart, and the VM has rebooted successfully (without BSOD).
 

How to check EMBG (Unique Master Citizen Number) using regex

In this post, I will share my implementation of how to check if some number looks like EMBG or Unique Master Citizen Number. For those of yo...