Wednesday, January 21, 2009
Deploying Citrix Presentation Server 4.5/XenApps using SQL Server 2005 Farm Database Part 1
Friday, January 9, 2009
Citrix Presentation Server Installation fails with Error 26013. Function InitializeTree2 returned failure in CTX_MF_IMA_InitializeTree2
Rename a Computer that Hosts SQL Server 2005
sp_dropserver
For a renamed named instance, run the following procedures:
sp_dropserver
Restart the SQL Server instance
Just before you apply those update rollups to your Exchange 2007 servers....
Exchange Server 2007 managed code services do not start after you install an update rollup for Exchange Server 2007
http://support.microsoft.com/kb/944752
Managed code services does not start is usually because of the update rollups containing digital signatures which during the installation attempts to do a validation a certificate revocation list (CRL) at crl.microsoft.com/pki/crl/products/CSPCA.crl
So it is quite common for the organizations not to allow their Exchange Servers to go out to the Web and causing this validation during the installation of the rollup for the Exchange Services not to start.
A recommended fix out there is point crl.microsoft.com to 127.0.0.1 in the local hosts file of the servers before the upgrade. I can attest that this might work for some of the servers but in case it does not for all, you can still continue and modify your Exchange Services configuration file manually based on the article above.
For those who have Exchange 2007 servers in different server roles like CCR clustered mailbox servers, you can check the links below before you apply your rollup updates.How to Install Update Rollups in a Single Copy Cluster
http://technet.microsoft.com/en-us/library/bb885045.aspx
How to Install Update Rollups in a CCR Environment
http://technet.microsoft.com/en-us/library/bb885047.aspx
Thursday, January 8, 2009
Deploying 802.1x Dynamic VLAN authentication for Wired Networks using Cisco ACS 4.2 and Microsoft IAS Radius Servers (Part 2)
Defining AAA clients on RADIUS servers
Next step in our setup is to define our AAA clients on the RADIUS servers, it involves simply pointing the AAA client's IP on the network and a preshared key that will later be defined on the switch as well. Once you are done you will have a screen similar below.
Configure Authenticating Switches
Now its time for us to configure our Cisco Switches to pass authentication to RADIUS servers and perform per port 802.1x authentication to connecting end devices. You should have a bunch of global commands instructing the switch to perform 802.1x authentication similar to the one below. You can go to Cisco's website to get more information on the commands although I will try to comment on some of the lines.
aaa authentication
dot1x default group radius
aaa authorization network default group radius
aaa accounting dot1x default start-stop group radius
aaa accounting system default start-stop group radius
dot1x system-auth-control ( define this to see Dot1x commands per interface level )
ip radius source-interface value
radius-server host x.x.x.x auth-port 1645 acct-port 1646 timeout value key value
radius-server host x.x.x.x auth-port 1645 acct-port 1646 timeout value key value
The next 3 commands above instructs the switch where the source RADIUS server's VLAN is located when you have multiple VLANs and also points the RADIUS server hosts. The primary will be the first one defined and secondary will be the second one. The key value is the same pre-shared key used when you define your AAA client on the RADIUS servers.
Once you have these commands set, its time to go per port level and allow switch ports to do dot1x authentication.
switchport access vlan id
switchport mode access
dot1x pae authenticator
dot1x port-control auto
dot1x host-mode multi-domain
dot1x timeout tx-period value
dot1x auth-fail vlan id
dot1x guest-vlan id
spanning-tree portfast
You can lookup this commands further but basically on this configuration for the guest-vlan and auth-fail vlan, you are configuring where clients will be dumped to if they fail dot1x authentication with the RADIUS servers.
Configure wired client computers for PEAP-MS-CHAP v2 802.1x authentication
Ok now we almost have everything set, the last set is to configure our Dot1x clients which are Windows XP machines in this example. Basically what we need to do is to configure the clients NIC card to perform Dot1x authentication. You can research about GPO policy extension to set this one for the clients but I believe at the time of this writing it is only available in Windows Vista and a Windows 2008 Domain Controller. Just follow the screen below and you should have configured your clients appropriately.
Note that I have cleared the screencap, if the environment is more restrictive, you can define the value of the "Connect to these Servers" field on the client's NIC card. This prevents man in the middle attacks when you are doing the dot1x authentication to your RADIUS servers. Do note that if you are configuring a Windows XP SP3 client note the changes in configuring Dot1x for the network card in this kb article "Changes to the 802.1X-based wired network connection settings in Windows XP Service Pack 3"
http://support.microsoft.com/kb/949984
Also there are two registry values that you would likely change to control supplicant behavior on the clients. The first one defines that you are performing only Machine Authentication and the second one allows the supplicant client to send stop and start messages for Dot1x. Based on experience, you should set the second registry value as listed below as I have found that some clients do not get authenticated if this value is not set.
HKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\AuthMode=2
HKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\SupplicantMode registry value to 3 (REG_DWORD data type). The default value of SupplicantMode for wired connections is 2.
Verify Wired Connections
Now that you have done configuring your dot1x clients. Verify that you can authenticate to your RADIUS servers and get your VLAN assignment based on your grouping. You can move the clients to another AD security group and test the new VLAN segment once you unplug and replug the network cable for the machine. Lastly I need to mention that for Cisco ACS you may need to install this hotfix on your Windows Dot1x clients as the Windows clients don't work well by default with 3rd party RADIUS servers for PEAP see "PEAP authentication is not successful when you connect to a third-party RADIUS server" on kb http://support.microsoft.com/kb/885453
Before I forget here are the links you can use as reference for your own deployment:
Microsoft:
Cisco:
http://www.cisco.com/en/US/products/ps6366/products_configuration_example09186a0080921f67.shtml
http://www.ciscopress.com/articles/article.asp?p=29600&seqNum=3
Hope you guys enjoyed this article. Do comment for additional info or corrections.
Deploying 802.1x Dynamic VLAN authentication for Wired Networks using Cisco ACS 4.2 and Microsoft IAS Radius Servers (Part 1)
.
- Configure Active Directory for accounts and groups
- Configure a certificate infrastructure for PEAP-MS-CHAP v2
- Configure the RADIUS servers and Policies
- Deploy and configure authenticating switches as AAA clients defined on our RADIUS servers
Configure wired client computers for PEAP-MS-CHAP v2 802.1x authentication
Verify Wired Connections
.
.
.
Ok I have cleared some of the details on the screencap as this represents my actual deployment for one client, two things you need to note is that PEAP certificate field should contain your IAS Server Certificate. If you are using a Domain Controller installed with IAS service, then you will probably have the Domain Controller Certificate already ready to use. This will do as long as the certificate has the Server Authentication key usage attribute. You can check this when you open the certificate and check details tab for the Enhanced Key Usage attribute. For the edit profile tab, the advanced tab is where you configure the policy for Dynamic VLAN. This tells you exactly where to place the machine when it is authenticated. The Tunnel-PVT-Group-ID will actually correspond to your VLAN NAME defined on the switch (case sensitive) and the Tunnel Tag corresponds the VLAN number. After defining our policies we can proceed with configuring the AAA client switches in part2 of our article.
Tuesday, January 6, 2009
Side Note to Changing Expiration Date of Certificates that are issued by a Windows Server 2003 or a Windows 2000 Server Certificate Authority
http://support.microsoft.com/kb/254632
The summary and registry hack is posted below.
SUMMARY
This article describes how to change the validity period of a certificate that is issued by a Windows Server 2003 or a Windows 2000 Server Certificate Authority (CA). By default, the lifetime of a certificate that is issued by a Stand-alone Certificate Authority CA is one year. After one year, the certificate expires and is not trusted for use. There may be situations when you have to override the default expiration date for certificates that are issued by an intermediate or an issuing CA.The validity period that is defined in the registry affects all certificates that are issued by Stand-alone and Enterprise CAs.
For Enterprise CAs, the default registry setting is two years. For Stand-alone CAs, the default registry setting is one year. For certificates that are issued by Stand-alone CAs, the validity period is determined by the registry entry that is described later in this article. This value applies to all certificates that are issued by the CA.
For certificates that are issued by Enterprise CAs, the validity period is defined in the template that is used to create the certificate. Windows 2000 and Windows Server 2003 Standard Edition do not support modification of these templates. Windows Server 2003 Enterprise Edition supports Version 2 certificate templates that can be modified. The validity period defined in the template applies to all certificates issued by any Enterprise CA in the Active Directory forest. One exception is the Subordinate CA certificate templates. There is no validity period defined in this template. Instead, the CA's registry validity period determines the validity period of the Subordinate CA certificate. A certificate that is issued by a CA is valid for the minimum of the following periods of time:
•The registry validity period that is noted earlier in this article.
This applies to the Standalone CA, and Subordinate CA certificates issued by the Enterprise CA.
•The template validity period.
This applies to the Enterprise CA.
Templates supported by Windows 2000 and Windows Server 2003 Standard Edition cannot be modified. Templates supported by Windows Server Enterprise Edition (Version 2 templates) do support modification.
The expiration date of the CA certificate
A CA cannot issue a certificate with a longer validity period than its own CA certificate. For more information about certificate templates, see the "Implementing and Administering Certificate Templates in Windows Server 2003" white paper. To do this, visit the following Web site:
http://technet2.microsoft.com/WindowsServer/en/library/c25f57b0-5459-4c17-bb3f-2f657bd23f781033.mspx?mfr=true (http://technet2.microsoft.com/WindowsServer/en/library/c25f57b0-5459-4c17-bb3f-2f657bd23f781033.mspx?mfr=true)
Note The Request Attribute name is made up of value string pairs that accompany the request and that specify the validity period. By default, this is enabled by a registry setting on a Standalone CA only.
To Change the Expiration Date of Certificates That Are Issued by a Windows Server 2003 or a Windows 2000 Server Certificate Authority
To change the validity period settings for a CA, follow these steps.
1.Click Start, and then click Run.
2.In the Open box, type regedit, and then click OK.
3.Locate, and then click the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration\
4.In the right pane, double-click ValidityPeriod.
5.In the Value data box, type one of the following, and then click OK:
•Days
•Weeks
•Months
•Years
6.In the right pane, double-click ValidityPeriodUnits.
7.In the Value data box, type the numeric value that you want, and then click OK. For example, type 2.
8.Stop, and then restart the Certificate Services service. To do so:
a. Click Start, and then click Run.
b. In the Open box, type cmd, and then click OK.
c. At the command prompt, type the following lines. Press ENTER after each line.
net stop certsvcnet start certsvc
d. Type exit to quit Command Prompt.
Monday, January 5, 2009
Increasing Logical Disk Capacity on a drive stored on SAN Storage IBM DS3300
Control RMS client Not To Use Outlook By Default in searching Address List
Ok enough for all that background, there is a registry key that can be used to control this behavior. The following registry key is stated below.
DoNotUseOutlookByDefault
Location:HKCU\Software\Microsoft\Office\12.0\Common\DRMDWORD:DoNotUseOutlookByDefault
Value:
0 = Outlook is used
1 = Outlook is not used
Description:The permissions dialog uses Outlook to validate email addresses entered in that dialog. This causes an instance of Outlook to be started when restricting permissions.
Users can disable this option using this key
Exists in Office 11:Yes
Exists in Office 12:Yes
Can Be Set by GPO in Office 11:No
Can Be Set by GPO in Office 12:No
Sunday, January 4, 2009
Certificate Services Web enrollment pages together with Windows Vista or Windows Server 2008
http://support.microsoft.com/kb/922706
Bulk Importing Contacts using CSV file on Exchange 2007
Import-Csv -path C:\Contacts\testcontact.csv ForEach { New-MailContact -Name $_.displayName -Firstname $_.Firstname -Lastname $_.Lastname -ExternalEmailAddress $_.Emailaddress -OrganizationalUnit "Domain.local/Mail Contacts" }
Here is a sample of the csv file
Saturday, January 3, 2009
Exchange Remote Connectivity Analyzer
If you ever wanted to test that your Exchange Deployment for Remote Connectivity, this is one useful tool that you can use. Check it out here.
https://www.testexchangeconnectivity.com/Exchange 2007 Fast and Easy Certificate Request Tool
New-ExchangeCertificate -GenerateRequest -SubjectName "C=Country, O=Organization Name, CN=webmail.domain.com" -DomainName alternatename1.domain.com, autodiscover.domain.com, servername.domain.local, servername, autodiscover.domain.local -FriendlyName "OWA CAS SAN Certificate" -KeySize 1024 -Path c:\CAS_SAN_cert.req -PrivateKeyExportable:$true
The Curious Case of the Missing File Shares on SAN
Start Registry Editor.
Locate and then click the following subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer
On the Edit menu, point to New, and then click Multi-String Value.
Type DependOnService to name the new registry entry, and then press ENTER.
Double-click DependOnService, type MSiSCSI in the Value data box, and then click OK.
Exit Registry Editor.
Connecting Windows Server 2008 to iSCSI SAN Storage (Part2)
Configure the host via iSCSI initiator to connect and logon to iSCSI target portal
Defining the iSCSI target portal is done by specifying the IP address configured for your SAN storage's host portals, usually you will configure your host portals on both redundant controllers of the SAN storage to provide redundancy for failover. Afterwhich, we can logon to the defined target portals and for the first time see the disks presented to our Windows Server 2008 system. Lastly, you would have the target portals to be persistent and bind the volumes presented automatically so that it will remain available after a restart of the host. When you are done you will have a screen similar to the one below.
Format presented volumes on the hosts and assign drive partitions
You can choose to enable authentication like CHAP when connecting to your target portal, for this example we won't be using any authentication with our connection. Once you have completed this configuration you can go to device manager and rescan for hardware changes and you will be presented with your iSCSI disks which you can then format and partition as a normal basic or dynamic disk on Disk Management as seen below.
Enable failover for redundancy of connection to the iSCSI Logical Drives
You have now completed connecting your Windows Server 2008 Server to an iSCSI SAN Storage. But we are not quite done yet, you would likely want to enable failover on your iSCSI SAN connection between your iSCSI host. To do this, just add another target portal on your iSCSI software initiator similar to the procedure above and logon to it. You will know you have configured it correctly with the presence of an additional Universal Xport SCSI Disk Device on Device Manager and seeing redundant disk devices on your target properties similar to screen below.
Connecting Windows Server 2008 to iSCSI SAN Storage (Part1)
The outline of the activity will be similar below:
- Configure your iSCSI hosts and target portals network
- Pre Create RAID arrays and Logical Drives on your Storage Subsystem
- Enable the iSCSI initiator feature on Windows Server 2008
- Define iSCSI hosts on the Storage Subsytem
- Install Multipath Driver on your host based on your Storage Subsytem
- Configure Host to Logical Drive Mappings on the Storage Subsystem
- Configure the host via iSCSI initiator to connect and logon to iSCSI target portal
- Format presented volumes on the hosts and assign drive partitions
- Enable failover for redundancy of connection to the iSCSI Logical Drives
Configure your iSCSI hosts and target portals network
First I am assuming that you have your iSCSI network setup already, it is highly recommended that you dedicate a private network for your iSCSI traffic separate from your production network card traffic. So at minimum you should have 2 network cards on your host system. 1 for your production LAN and the other for iSCSI LAN. Once you have this setup, you can set your iSCSI network card similar to screen below. Note that you should disable additional TCP/IP overhead like NETBIOS which can improve your iSCSI LAN network traffic.
Pre Create RAID arrays and Logical Drives on your Storage Subsystem
Next step is to pre create RAID arrays and Logical Drives on your storage subsystem. I won't be showing it here, but once you login to a Storage Management GUI like IBM's Storage Manager, you can easily accomplish this through the wizard. You may wish to allocate a hot spare for your RAID arrays and this can be done as well through the GUI. Once you have your RAID arrays built, you can carve out Logical Drives which you can map to intended hosts later. I also recommend that you name your Logical Drives on your SAN appropriately probably adding the servername at least to help you determine which host the drives are intended for. It can get confusing once you started carving out all those Logical Drives for all your hosts.
Enable the iSCSI initiator feature on Windows Server 2008
a
You can then install the multipath driver on your host based on the Storage System you are using. This enables our Windows Server 2008 machine to failover to another controller of the storage subsytem if we loose communication to one path on our target portal. Note that Windows Server 2008 has the native MPIO feature and this will be automatically enabled once we install the multi path driver from our Storage System which in this case is IBM's DS3300.
Configure Host to Logical Drive Mappings on the Storage Subsystem
When this is done we are now ready to configure our host-to-logical drive mapping through our Storage Manager. This process allocates are pre configured Logical Drives on the SAN storage to the intended host as seen below.
After this step we are almost ready to see the drives on our host but not quite yet, we need to configure our iSCSI initiator to connect to the target portals configured on the SAN storage and login to it. This will be covered in Part2 of our Connecting Windows Server 2008 to iSCSI SAN Storage article.