Thursday, June 24, 2010

Installing Office 2007 on Terminal Server and removing user information

For those Systems Administrator (like me) or Helpdesk who have experience in installing Microsoft Office 2007 on the Terminal Server, their first big disappointment/frustration is the fact that after installing Office 2007 on the Terminal Server, the user information of the account used to install Office is replicated to all users who then run an Office application. For example, if you install office 2007 on the Terminal server using “XYZ” account, this account (XYZ) will be the owner of all the office documents/files users (on the terminal server) will then create. This fact has been a big frustration for both users and the IT administrators.

In this post, I will be describing how to delete identifying information recorded to the Terminal Server shadow registry key by Setup during Office 2007 installation and to make sure that user information of the account used to install Office is not replicated to all users.

(Note: As you can see, this procedure involve modifying the registry of the server, please take extra caution by backing up your registry key before proceeding.)
  1. After installing Office 2007, make sure you DO NOT open/run  any office applications.
  2. Go to “Run” and type “Regedit” command and perss “Enter” (this will open the registry).
  3. Go to:
    “HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Office” and delete “Office” subkey.
  4. Reboot the Server.

Hope this helps!

New Exchange Server 2007 mailbox stamped as legacy mailbox

If you use the Exchange Server 2003/2000 extensions to Active Directory Users & Computers (ADUC) console to create mailboxes residing on Exchange Server 2007 servers, these mailboxes get stamped as legacy mailboxes.
Exchange Server 2007 mailboxes should be created using the Exchange (2007) console or shell.
To remove the legacy tag from mailboxes created using ADUC, use the following command:

Set-Mailbox "John Doe" -ApplyMandatoryProperties

This is documented in KB 931747: A mailbox that is located on an Exchange Server 2007 server may be identified as a legacy mailbox in Exchange Server 2007.
To get a list of legacy mailboxes:

Get-Mailbox | where {$_.RecipientTypeDetails -eq "legacymailbox"}

Note, not all legacy mailboxes reside on Exchange Server 2007 servers, so it's not a good idea to use the ApplyMandatoryProperties command to all of these. Mailboxes residing on Exchange Server 2003/2000 servers are also legacy mailboxes, and you may see some mailboxes moved from Exchange Server 2003/2000 servers carry this tag as well.
Let's filter the above list of legacy mailboxes to only the ones located on Exchange 2007 servers:

Get-ExchangeServer | Where {$_.IsExchange2007OrLater} | Get-Mailbox | where {$_.RecipientTypeDetails -eq "legacymailbox"}

Apply mandatory properties:

Get-ExchangeServer | Where {$_.IsExchange2007OrLater} | Get-Mailbox | where {$_.RecipientTypeDetails -eq "legacymailbox"} | Set-Mailbox -ApplyMandatoryProperties

Wednesday, June 23, 2010

No Terminal Server client access licenses available for this computer

I had a situation recently when some users tries to connect to the Terminal Server they received the following error message: The remote session was disconnected because there are no Terminal Server client access licenses available for this computer. Please contact the server administrator.tss

There are many options to workaround this issue. To see more of these workarounds, you can visit Microsoft website. However, I opted for the solution I am going to describe below which works wonderfully.

Note: Please note that this solution requires modification of the system’s registry. So take an extra caution (back up your registry) before proceeding.

Problem: The remote session was disconnected because there are no Terminal Server client access licenses available for this computer. Please contact the server administrator.

Solution: Create a backup of the MSLicensing registry key and its subkeys on the client, and then remove the original key and subkeys by doing the following:

  1. On the client, navigate to the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.
  2. Click MSLicensing.
  3. On the Registry menu, click Export Registry File.
  4. In the File name box, type mslicensingbackup, and then click Save.
  5. On the Edit menu, click Delete, and then click Yes to confirm the deletion of the MSLicensing registry subkey.
  6. Close Registry Editor, and then restart the computer.

(Note: If you need to restore this registry key in the future, double-click mslicensingbackup.reg.)

When the client is restarted, the missing registry key is rebuilt.

Les utilisateurs n’arrivent pas à ouvrir une session sur le serveur Terminal

Pour les Administrateurs de Systèmes Windows ou les Supports Techniques, ce problème est très fréquent. Lorsque les utilisateurs essaient de se connecter au Serveur Terminal (Terminal Server) en se servant de la Connexion Bureau à Distance, ils  reçoivent souvent le message d’erreur suivant:

Ressources systèmes insuffisantes pour terminer le service demandé

Ou bien  leurs sessions se terminent au cours du processus de connexion sans donner aucune erreur.

Dans ce cas, l'une des raisons serait que votre serveur terminal n’utilise pas correctement la mémoire. Vérifiez le Journal des Evénements pour voir si vous pouvez trouver les événements 1500 et 1508 pour chaque tentative de connexion infructueuses. Si vous avez trouvé ces deux évèments, alors, utilisez la méthode suivante:

Pour résoudre ce problème, modifiez le Registre pour augmenter la PoolUsageMaximum valeur et la valeur PagedPoolSize. Pour ce faire, prcoédez comme suit:

  1. Cliquez sur Démarrer, sur Exécuter, tapez regedit, puis cliquez sur OK.
  2. Recherchez et cliquez sur la clé de registre suivante:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  3. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur Valeur DWORD.
  4. Dans la zone Nouvelle valeur # 1, tapez PoolUsageMaximum, puis appuyez sur ENTRER.
  5. Cliquez-droit sur PoolUsageMaximum, puis cliquez sur Modifier.
  6. Dans la zone  Données de la valeur, tapez 60, cliquez sur Décimale, puis cliquez sur OK.
  7. Si l'entrée de Registre PagedPoolSize existe déjà, passez à l'étape 8. Si le PagedPoolSize entrée de Registre n'existe pas, créez-la. Pour ce faire, suivez ces étapes:
    1. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur Valeur DWORD.
    2. Dans la zone Nouvelle valeur # 1, tapez PagedPoolSize, puis appuyez sur ENTRER.
  8. Right-click PagedPoolSize, puis cliquez sur Modifier.
  9. Dans la zone Données de la valeur, tapez ffffffff, puis cliquez sur OK.
  10. Quitter l'Éditeur du Registre, puis redémarrez l'ordinateur.

Bonne chance.