Author Archive

Enabling Enhanced Presence Privacy Mode in Lync 2010

Posted in Uncategorized on January 20, 2011 by Karim Hamdy

Here is a nice trick in Lync Server 2010 , with Enhanced Presence Privacy Mode on in Lync 2010 , users can restrict their presence information to people in their contact list only.

here is how to do it :

  1. Open Lync Server 2010 Management Shell.
  2. Run the following command:
    Get-CsPrivacyConfiguration | Set-CsPrivacyConfiguration -EnablePrivacyMode $True

However in a Migration/Coexistence scenario this setting apply only to Lync users, not OCS users so be ware of this.

That’s it folks ! see you next time 🙂

Moving your Lync Server 2010 CMS to Another Server

Posted in Uncategorized on January 6, 2011 by Karim Hamdy

While I was working in a lab, I wanted to deploy another Frontend Server, move CMS and decommission the old Frontend; however there are some steps you must follow to accomplish

  1. From the Topology Builder Create New FE and publish
  2. Install your new front end server
  3. Move Conference Directory to the other frontend server by running the following PS Command : Get-CsConferenceDirectory | Move-CsConferenceDirectory -TargetPool atl-cs-002.litwareinc.com
  4. verify that you have used local setup to run the Prepare Standard Edition server option to install CMS SQLRTC instance
  5. Run the following PS command to install the CMS database Install-CSDatabase -CentralManagementDatabase -SqlServerFqdn atl-sql-001.litwareinc.com -SqlInstanceName rtc
  6. Run Enable-CsTopology
  7. Run the following PS command Move-CsManagementServer it will search for available pools and provide you with options to move the CMS
  8. In case of Disaster recovery run the following PS Command Move-CsManagementServer -ConfigurationFileName “C:\CsConfiguration.xml” -LisConfigurationFileName “C:\CsLisConfiguration.xml” –Force Where the LisConfigurationFileName is previously saved E9-1-1 backup file (if you are using E9-11); and ConfigurationFileName is your previously saved configuration backup file.

 

How to Remove OCS 2007 R2 Users Information from AD

Posted in Uncategorized on January 4, 2011 by Karim Hamdy

so it’s been a long time since we posted anything here, but we are back active stay tuned with us, promise you will find interesting things here.

so you’ve decided to try Lync Server 2010. Good Call !! but the problem that you have old OCS 2007 R2 pilot and it was decommissioned long time ago and you have users still enabled or so their information says so in Active Directory.

you have to import Legacy Voice Policy from OCS 2007 R2 to Lync Side but the problem is there is no OCS gone with the wind. when you want to enable users for Lync 2010 and Lync still recognizes them as legacy users as Lync reads their information from AD, all you have to do is the following :

Open ADSIEdit , point to where your users reside , right click on your user and select properties and clear the following attributes :

msRTCSIP-PrimaryHomeServer
msRTCSIP-PrimaryUserAddress
also change the msRTCSIP-User Enabled to “Not Set”

That’s It !! now you are good to go to enable your users

Happy Lync 2010 !!

Load Balancing Exchange 2010 Using Cisco ACE – Part 1

Posted in Exchange Server with tags , on March 27, 2010 by Karim Hamdy

Hi , it is been a while since I posted in our blog . In this article we will talk about Load balancing CAS Servers in Exchange 2010 using Cisco ACE 4710. So let’s get started.

First we will need to talk about some terminologies and concepts.

Stickiness:

Also Called Persistence or Affinity , it is the ability to “Stick” the connection to the same Real Server  for the client, for example imagine a web site for banking or e-Trading the requests from the Client has to go to the same Real Server until the client disconnects or ends the session.

Sticky Types

The ACE appliance supports stickiness based on:

• HTTP cookies

Client cookies uniquely identify clients to the ACE and the servers providing content. A cookie is a small data structure within the HTTP header that is used by a server to deliver data to a Web client and request that the client between the client and the server.

When the ACE examines a request for content and determines through policy matching that the content is sticky, it examines any cookie or URL present in the content request. The ACE uses the information in the cookie or URL to direct the content request to the appropriate server.

The ACE supports the following types of cookie stickiness:

• Dynamic cookie learning

You can configure the ACE to look for a specific cookie name and automatically learn its value either from the client request HTTP header or from the server Set-Cookie message in the server response. Dynamic cookie learning is useful when dealing with applications that store more than just the session ID or user ID within the same cookie. Only very specific bytes of the cookie value are relevant to stickiness.

By default, the ACE learns the entire cookie value. You can optionally specify an offset and length to instruct the ACE to learn only a portion of the cookie value.

Alternatively, you can specify a secondary cookie value that appears in the URL string in the HTTP request. This option instructs the ACE to search for (and eventually learn or stick to) the cookie information as part of the URL. URL learning is useful with applications that insert cookie information as part of the HTTP URL. In some cases, you can use this feature to work around clients that reject cookies.

• Cookie insert

The ACE inserts the cookie on behalf of the server upon the return request, so that the ACE can perform cookie stickiness even when the servers are not configured to set cookies. The cookie contains information that the ACE uses to ensure persistence to a specific real server.

• HTTP headers

You can use HTTP-header information to provide stickiness. With HTTP header stickiness, you can specify a header offset to provide stickiness based on a unique portion of the HTTP header

• IP addresses

You can use the source IP address, the destination IP address, or both to uniquely identify individual clients and their requests for stickiness purposes based on their IP netmask. However, if an enterprise or a service provider uses a megaproxy to establish client connections to the Internet, the source IP address no longer is a reliable indicator of the true source of the request. In this case, you can use cookies or one of the other sticky methods to ensure session persistence.

• HTTP content

allows you to stick a client to a server based on the content of an HTTP packet. You can specify a beginning pattern and ending pattern, the number of bytes to parse, and an offset that specifies how many bytes to ignore from the beginning of the data

• Layer 4 payloads

Layer 4 payload stickiness allows you to stick a client to a server based on the data in Layer 4 frames. You can specify a beginning pattern and ending pattern, the number of bytes to parse, and an offset that specifies how many bytes to ignore from the beginning of the data.

• RADIUS attributes

RADIUS stickiness can be based on the following RADIUS attributes:

•Calling station ID

•Username

• RTSP headers

RTSP stickiness is based on information in the RTSP session header. With RTSP header stickiness, you can specify a header offset to provide stickiness based on a unique portion of the RTSP header.

*Real Time Streaming Protocol (RTSP) is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used to establish and control media sessions between end points.

• SIP headers

SIP header stickiness is based on the SIP Call-ID header field. SIP header stickiness requires the entire SIP header, so you cannot specify an offset.

*Session Initiation Protocol (SIP) is a signaling protocol, widely used for controlling multimedia communication sessions such as voice and video calls over Internet Protocol (IP).

Access the ACE CLI using HyperTerminal for Windows by following these steps:

1. Launch HyperTerminal.

2. Enter a name for your connection in the Name field.

3. Click OK.

4. From the Connect using drop-down list, choose the COM

port to which the device is connected.

5. Click OK.

6. Set the port properties:

Bits per second = 9600

Data bits = 8

Parity = none

Stop bits = 1

Flow control = None

7. Click OK to connect.

1.At the login prompt, log into the ACE by entering the login username admin and password. By default, the username and password are admin. For example, enter:

Starting sysmgr processes.. Please wait…Done!!!

switch login: admin

Password: admin

2. At the Enter the new password for “admin”: prompt, change the default Admin password. If you do not change the default Admin password, after you upgrade the ACE software you will only be able to log in to the ACE through the console port.

Enter the new password for “admin”: xxxxx

Confirm the new password for “admin”: xxxxx

admin user password successfully changed.

3. At the Enter the new password for “www”: prompt, change the default www user password. If you do change the default www user password, the www user will be disabled and you will not be able to use Extensible Markup Language (XML) to remotely configure an ACE until you change the default www user password.

Enter the new password for “www”: xxxxx

Confirm the new password for “www”: xxxxx

www user password successfully changed.

Caution At this point, you should consider whether you plan to configure the ACE using the Device Manager GUI or using the CLI. If you have a trunking network setup, or if your VLAN 1000 has been used, you should bypass the following setup script and use the CLI

4. At the “Would you like to enter the basic configuration dialog? (yes/no)” prompt, press Enter to continue the setup. To bypass setup and directly access the CLI, type no.

Would you like to enter the basic configuration dialog? (yes/no) [y]:

Note The ACE provides a default response in brackets [ ] for each question in the setup script. Accept the default response to a configuration prompt by pressing Enter.

5. Select port 1 to carry management VLAN communication by pressing Enter.

Enter the Ethernet port number to be used as the management port (1-4):? [1]:

6. Assign an IP address for the management VLAN interface by entering 172.25.91.110.

Enter the management port IP Address (n.n.n.n): [192.168.1.10]: 172.25.91.110

7. Accept the default subnet mask for the management VLAN interface by pressing Enter.

Enter the management port Netmask(n.n.n.n): [255.255.255.0]:

8. Assign the IP address of the gateway router (the next-hop address for this route) by entering 172.25.91.1.

Enter the default route next hop IP Address (n.n.n.n) or <enter> to skip this step: 172.25.91.1

9. Examine the entered values.

Summary of entered values:

Management Port: 1

Ip address 172.25.91.110

Netmask: 255.255.255.0

Default Route: 172.25.91.1

10. Review the configuration details by pressing d.

Submit the configuration including security settings to the ACE Appliance? (yes/no/details): [y]:

interface gigabitEthernet 1/3

switchport access vlan 1000

no shut

access-list ALL extended permit ip any any

class-map type management

match-any remote_access

match protocol xml-https any

match protocol dm-telnet any

match protocol icmp any

match protocol telnet any

match protocol ssh any

match protocol http any

match protocol https any

match protocol snmp any

policy-map type management first-match remote_mgmt_allow_policy

class remote_access

permit

interface vlan 1000

ip address 172.25.91.110 255.255.255.0

access-group input ALL

service-policy input remote_mgmt_allow_policy

no shutdown

ssh key rsa

ip route 0.0.0.0 0.0.0.0 172.25.91.1

11. Accept this configuration by pressing Enter; otherwise, press n.

Submit the configuration including security settings to the ACE Appliance? (yes/no/details): [y]:

12. After you select y, the following message appears.

Configuration successfully applied. You can now manage this ACE Appliance by entering the url ‘https://172.25.91.110′ into a web browser to access the Device Manager GUI.

After you have completed the setup script, the command prompt appears.

switch/Admin#

After you specify a Gigabit Ethernet port, port mode, and management VLAN, the setup script automatically applies the following default configuration:

  • A Management VLAN is allocated to the specified Ethernet port.
  • An extended IP access list that allows IP traffic originating from any other host addresses.
  • A traffic classification is created for management protocols HTTP, HTTPS, ICMP, SSH, Telnet, and XML-HTTPS. HTTPS is dedicated to connectivity with the Device Manager GUI.
  • A VLAN interface is configured on the ACE.

Assigning a Name to the ACE

The hostname is used for the command-line prompts and default configuration filenames. When you establish sessions to multiple devices, the hostname helps you keep track of which ACE you are entering commands to. By default, the hostname for the ACE is switch.

For example, change the hostname of the ACE from switch to host1 by entering:

switch/Admin# Config

switch/Admin(config)# hostname host1

The prompt appears with the new hostname.

host1/Admin(config)#

Logging in to the ACE

You can access the ACE Device Manager GUI through a web-based interface. Log in to the Device Manager by following these steps:

1. Navigate to the ACE Device Manager by entering the secure HTTPS address or hostname of the ACE in the address field of a web browser. For the example setup shown earlier in Figure 1, enter:

https://172.25.91.110/

2. Click Yes at the prompt to accept (trust) and install the signed certificate from Cisco Systems, Inc. To avoid having to approve the signed certificate every time you log in to the Device Manager, accept the certificate.

  • 3. In the User Name field, type admin for the admin user account.
  • 4. In the Password field, type the new password that you entered
  • 5. Click Login. The default window that appears is the Virtual Contexts window with the Admin context listed, as shown in Figure 7.
  • Virtual Contexts Pane (Admin Context)

The “default” resource class works well for basic configurations that do not need sticky session persistence. For sticky session persistence, you need a resource class that allocates more than 0% of the “Sticky” resources. For each context in which you configure stickiness, you must do the following:

–Configure a resource class in the Admin context that you can associate with one or more contexts where you want to configure stickiness.

Creating a Resource Class

Create a resource class by following these steps:

1. Choose Config > Virtual Contexts > System > Resource Class.

Next we will start by configuring VLAN interfaces required for operation :

Create VLAN interface and give it an IP address , Netmask and enable it

Enable the Physical Interface and give it a name and assign it to a VLAN interface


Adding NAT Pools

Next create a NAT pool by clicking on the NAT pools link. you need a NAT pool as it provides a set of IP addresses that ACE can use as source addresses when sending requests to the real servers. The NAT pool must be configured on the same VLAN interface that you identified or created

For VLAN ID, specify the VLAN number from the VLAN Interfaces step. Use the NAT Pool ID set in the field or enter your own. Then enter the IP address range for the NAT pool using the Start IP Address and End IP Address or Netmask fields.

The NAT pool can be as small as single IP address and it can even re-use the virtual IP (VIP) you plan to use for the application. However, NAT pools with more IP addresses allow more concurrent requests to the real servers. ACE allows several thousand concurrent connections per NAT pool IP address, as long as port address translation (PAT) is enabled. With PAT disabled, ACE can only handle one connection per NAT pool IP address

This Concludes Part 1 , In Part 2 we will configure Virtual Server , Real Servers , Farms and Sticky Groups and SSL Proxy Service so stay tuned.


Update Rollup 2 for Exchange Server 2010 (KB979611)

Posted in Exchange Server with tags , on March 5, 2010 by Karim Hamdy

Just released !

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6d3ae3e0-3982-46d6-9e9c-7d7d63fae565

Redirecting to OWA & HTTP to HTTPS Automatically

Posted in Exchange Server with tags , on February 23, 2010 by Karim Hamdy

Most Customers requires auto redirection from HTTP to HTTPS and to OWA virtual directory , here is the way on how to do it :

Redirecting to OWA Virtual Directory :

  1. Start the Internet Information Services (IIS) Manager snap-in.
  2. Expand the local computer, expand Sites, and then click Default Web Site.
  3. At the bottom of the Default Web Site Home pane, click Features View if this option is not already selected.
  4. In the IIS section, double-click HTTP Redirect.
  5. Click to select the Redirect requests to this destination check box.
  6. Type the absolute path of the /owa virtual directory. For example, type https://mail.contoso.com/owa.
  7. Under Redirect Behavior, click to select the Only redirect requests to content in this directory (not subdirectories) check box.
  8. In the Status code list, click Found (302).
  9. In the Actions pane, click Apply.
  10. For the new settings to take effect, open a Command Prompt window, and then type iisreset /noforce to restart IIS.

Redirecting to HTTPS from HTTP :

Open note pad create new file and paste the following code in it :

<!– beginning of HttpRedirect.htm file –>
<script type=”text/javascript”>
function redirectToHttps()
{
var httpURL = window.location.hostname + window.location.pathname;
var httpsURL = “https://&#8221; + httpURL ;
window.location = httpsURL ;
}
redirectToHttps();
</script>
<!– end of HttpRedirect.htm file –>

<!– beginning of HttpRedirect.htm file –><script type=”text/javascript”>function redirectToHttps(){var httpURL = window.location.hostname + window.location.pathname;var httpsURL = “https://&#8221; + httpURL ;window.location = httpsURL ;}redirectToHttps();</script>

<!– end of HttpRedirect.htm file –>

save it as “HttpRedirect.htm”

Now go to IIS Manager and create New Error Page with code 403.4

from response action click insert content from static location and from file path insert the Httpredirect.htm path

from Action Menu click edit feature settings , and select Custom Error Page and set the default page to the HttpRedirect.htm file path and that’s It.

Check Out the Photos for more info.

Exchange 2010 ActiveSync Issue

Posted in Exchange Server on February 22, 2010 by Karim Hamdy

Today i’ve faced an issue regarding ActiveSync in Exchange 2010 , users cannot connect to ActiveSync after checking EventViewer the following error found :

Exchange ActiveSync doesn’t have sufficient permissions to create the “CN=<name>,OU=<OU Name>,DC=****,DC=****,DC=***” container under Active Directory user “Active Directory operation failed on <server>. This error is not retriable. Additional information: Access is denied.

with EventID 1053. after searching it appears to be this user does not have permissions on Exchange Servers . so here is how to resolve it.

Open Active Directory Users and Computers > Advanced Features > Open the user account Properties > Security > Advanced >Select Exchange Servers, and tick the Include inheritable permissions togglethen Apply and OK.

it seems to be this is a bug when upgrading from Exchange 2003 to Exchange 2010 although any new created users does not suffer this issue.

Installing RU1 for Exchange 2010

Posted in Exchange Server on February 17, 2010 by Karim Hamdy

When Installing RU1 for Exchange 2010  you might get Error 1603 in event viewer and the installation ends with no apparent reason All you have to do is Install the RU from an elevated Power Shell.

Also if you experience  long time in “Creating native images for .NET assemblies”  you have 2 choices either to Expose the Exchange server to the internet to allow it to download CRL files or disable this option in IE :

Tools \ Internet Options \ Security \ Check for Publishers Certificate Revocation

Re-enable Disabled Mailbox

Posted in Exchange Server on February 13, 2010 by Karim Hamdy

when you accidently disable mailbox for certain user , so you go to disconnected mailboxes and look for it and it ain’t there ! it could be a problem especially when the disabled mailbox is for a CEO or a director or something , here is the way to get it back :

from PS run the following command

Clean-MailboxDatabase “Database Name”

it should appear on the disconnected mailboxes section in EMC , then you can reconnect it.

Enabling NLA on Windows XP for Win 2008 Terminal Services

Posted in Active Directory with tags , on February 12, 2010 by Karim Hamdy
   
 

When connecting to a Windows 2008 Server using remote desktop from a Windows XP client running service pack 2 or earlier, you get the following error message:

The remote computer requires Network Level Authentication, which your computer does not support.

To enable NLA in XP machines; first install XP SP3, then edit the registry settings on the XP client machine to allow NLA

• Configure Network Level Authentication

1. Click Start, click Run, type regedit, and then press ENTER.
2. In the navigation pane, locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
3. In the details pane, right-click Security Packages, and then click Modify.
4. In the Value data box, type tspkg. Leave any data that is specific to other SSPs, and then click OK.
5. In the navigation pane, locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders
6. In the details pane, right-click SecurityProviders, and then click Modify.
7. In the Value data box, type credssp.dll. Leave any data that is specific to other SSPs, and then click OK.
8. Exit Registry Editor.
9. Restart the computer.

If you get this error “An authentication error has occurred (Code: 0×80090303)”  All you have to do is request the following Hotfix from Microsoft

http://support.microsoft.com/kb/953760