Thursday, February 07, 2008

Exchange 2007: adjust the default message size limits

Already noticed that in Exchange 2007 you cannot change the default message size limits anymore in the traditional Exchange management console?
In het Hub Transport of the Organization Configuration under Send Connectors we can see the various send connectors we have. But it is not possible to change the message limits here.

Of course, we can still change the message size limits on a "per user" basis under Recipient configuration - Mailbox.

Seems pretty excessive for thousands of mailboxes, no?
Of course, you can still change the default settings, but now it has to be done via the Exchange Management Shell.

First we can check how much the message size limit is at the moment with the command:
get-sendconnector | select identity,maxmessagesize.

Now we can change this to for example 20 MB by executing this command:
set-sendconnector "Connector Name" -maxmessagesize 20MB

Run the first command again to check if it worked:


O yeah, restart the Information store service and voila ... :)

Monday, February 04, 2008

Warning MSExchangeTransport, Event 15002, on Exchange 2007

So last week Friday I noticed in the afternoon I hadn't received a single e-mail today. I open the Exchange Management console and don't see anything wrong at first glance. The event viewer contains however a few warnings: eventID 15002

I think: "OK, a warning, I'll look at that later ..." and open a command screen to telnet the SMTP port of our Exchange 2007 hub transport server. I immediately get the error: 452 4.3.1 Insufficient system resources back.

Hhhmmmm ... insufficient system resources ... resource pressure constantly high ... Hey, those things belong together ...

So I do some research on Technet and start reading into this a little bit. Appearently this is a feature, not a bug ... and it's called back pressure.

What can we do?
Well it's obvious that the best way to go is adding the resource you are short off. In my case: disk space. The limit is 4 GB and I had only 3,8 GB left on my partition.

Now, if you don't have that option, there is a page on Technet that specifies which keys can be changed in the EdgeTransport.exe.config file (XML based) that you can find under C:\Program Files\Microsoft\Exchange Server\Bin.
For every resource that monitored a key is present that can be adjusted. Of course, Microsoft does not recommend this and warns that adjusting the config file can lead to poor performance and data loss.

Still, I think this is a good new feature, but it should be more visible, not just a warning in the event viewer

Deploying Sysprep on VirtualCenter 2.0

Everyone who has followed the VMware Infrastructure 3 four day course will know how to install Sysprep on your VirtualCenter so you are able customize new VM's during their deployment. But for people who are just playing around with it still, not having followed the course or people that have to dig really deep in their memory (like me) in order to come up with it again, I've created this small post. (their doesn't seem to be lots of info on this on-line ...)

Sysprep is not installed and distributed by VMware for a good reason. Sysprep is free for end-users like ourselves, but not if you want to distribute it ...
So instead of having you pay VMware for Microsoft technology, they just tell you download and install it yourself.

The steps are fairly simple, but the path to which to copy the files are mostly the problem:
1. Download the Sysprep Update Version 1.1 (Q257813_W2K_spl_X86_EN.exe) from Microsoft at this link (if they haven't changed it again).
Info: Validation will be required.

2. Extract the package and copy the files to the directory C:\\Application Data\Vmware\VMware
VirtualCenter\sysprep\1.1
. The result should look like this:

3. Download the Windows Server 2003 Service Pack 1 32-bit Deployment Tools (WindowsServer2003-KB892778-SP1-DeployTools-x86-ENU.cab) from Microsoft at this link (if they haven't changed it again).

4. Extract the package and copy the files to the directory C:\\Application Data\Vmware\VMware
VirtualCenter\sysprep\Svr2003
. The result should look like this:

Now, we can use the Customize using the Customization wizard option at the template after which you can specify all the desired settings.


Of course, easier still, is sysprepping the VM you want to convert to a template prior to doing so. If an unattend setup is specified, the VM's that are deployed from this template will automatically have all the correct settings, specified in the unattend file.
How to sysprep a machine is not included here since there are hundreds of step-by-step guides of this on-line.

Have fun!

Thursday, January 24, 2008

MOSS 2007 and Exchange 2007: enabling e-mail on document libraries

Already upgraded your Exchange 2003 to Exchange 2007? If you did, and your Sharepoint was configured with incoming e-mail settings, changes are e-mailing to the document libraries doesn't work anymore ...

By following these steps, you'll be able to set it back up. This starts from the beginning, so previous configuration is not required.

Step one: create an OU in active directory that will hold all the document library contacts.
Same as Exchange 2003!

Step two: delegate write permissions to the Sharepoint Central Administration Application Pool service account so that he can create new contacts in the OU.
Same as Exchange 2003!

Step three: Create an MX record in the DNS that points to the SMTP service of the sharepoint server
New for Exchange 2007!

Step four: Install the SMTP service on the MOSS 2007 server and configure the SMTP server to accept relaying from the exchange server
Same as Exchange 2003!

Step five: Configure on the MOSS server the incoming e-mail settings
Same as Exchange 2003!

Step six: create a SMTP send connector in exchange to relay e-mails to the sharepoint server. Otherwise the exchange server will drop the e-mails.
New for Exchange 2007!

Step seven (if required): create a new E-mail Address Policy (EAP) that adds e-mail addresses to the contacts
Same as Exchange 2003!

You'll see that by following these few simple steps your document libraries will accept your e-mails again.
These steps are a short summary of the whitepaper that was created by the fabulous Steve Smith.
Thank you for all your help Steve, and not just on this ... :)

Have fun!

Thursday, January 03, 2008

OWA 2007: Error 440 - Login Timeout

The other day I was facing a Outlook Web Access problem on Exchange 2007. Users could succesfully resolve the URL, but would immediately receive a message "440: Login Timeout", without further explanation not in the browser nor in the event viewer of the exchange server.

This particular exchange server was a new installation, but I've read that this also happens to exchange servers that were upgraded from 2003.

On the msmvps.com blog site, Chad has written a post that can help you with this message.
Basically, the procedure he describes lets you manually synchronize the passwords of the IUSR_ & IWAM_ between AD and IIS.
From the comments below the post it shows that many were helped with this, unfortunately for me, it didn't ...

I did however find another article on the Microsoft sites that did help me.
Below are the steps needed restore the OWA functionality on a Exchange server 2007. Please be aware that although the risk of deleting valuable information is low (since we won't touch the "Management tools", only the "Client Access Server"), the server will be fully unavailable for users during these steps.

1. Uninstall the Common Files subcomponent of the IIS (Internet Information Services), located in the Windows components of Add or remove programs.
2. Reinstall the Common Files and reapply the appropriate service packs.
3. Remove only the Client Access Role! To do this select "Remove Microsoft Exchange server 2007" under Add or remove programs.
4. Reinstall the Client Access Role. To do this select "Change Microsoft Exchange server 2007" under Add or remove programs.
5. Open the Exchange management shell and run these commands:
a) get-owavirtualdirectory -server server_name -DomainController dc_name | ? {$_.OwaVersion -eq "Exchange2003or2000"} | remove-owavirtualdirectory -DomainController dc_name
b) new-OwaVirtualDirectory -OwaVersion "Exchange2003or2000" -VirtualDirectoryType "Mailboxes" -DomainController dc_name
c) new-OwaVirtualDirectory -OwaVersion "Exchange2003or2000" -VirtualDirectoryType "Exadmin" -DomainController dc_name
d) new-OwaVirtualDirectory -OwaVersion "Exchange2003or2000" -VirtualDirectoryType "PublicFolders" -DomainController dc_name
e) new-OwaVirtualDirectory -OwaVersion "Exchange2003or2000" -VirtualDirectoryType "exchweb" -DomainController dc_name

Now run the iisreset command and OWA should work.

The full article from Microsoft you can find here.

Enjoy!

Wednesday, January 02, 2008

VMware: ESX 3.5 & VC 2.5

As we are all well aware already, new versions of ESX and VirtualCenter have been published by VMware, which will demonstrated on the VMworld event this year held in Cannes (France) at the end of Februari.

Here is a short overview of all the new features introduced in these versions, some more interesting than others:
1. Integration of tools like Guided Consolidation and VMware Converter in the VI Client.
2. Image customization of 64-bit guests (sysprep based instead of xml based).
3. Provisioning across datacenters (in previous versions, you had to have templates in each datacenter).
4. Datastore browser that supports file sharing between hosts (you will be able to just cut and paste files between ESX hosts. Seems like a basic feature to have but in the past you had to do this from the console).
5. Support for 256GB RAM in the ESX host and 64GB RAM for a guest.
6. Lockdown mode: the ability to prohibit management of a host when it is already managed by VirtualCenter. (very practical new feature).
7. Limit the amount of remote console connections.
8. Update Manager: provides a patching solution for ESX hosts and (some) guests. This includes offline patching. (Microsoft is also working on an offline patching solution with codename "Himalaya").
9. Storage VMotion: the ability to migrate virtual machines from one LUN to another without downtime. The migration needs to be done on the same host. You just present the source and target LUN and off you go.
10. VMware Converter integration into VI Client: makes it easier to do V2V and P2V right from VI Client and also allows customers that use VCB to restore backed up virtual machines right from VI Client.

Especially the last 5 features are really interesting to sell and implement at our clients.

Where did I get this from? Who else but Mike Laverick! Check out the guide he made about the new features here.

Except the points mentioned above and lots of other stuff I can't all write down here, there are a few more things I read in the document:
1. Virtual disks can now be enlarged from VI Client. No need for vmkfstools. (GREAT!!)
2. Power-on boot delay for guests and an option to boot directly in the BIOS after a guest reboot.
3. Static MAC addresses for a guests, set from the VI Client.
4. The new datastore browser allows you to upload files to and from the datastore.
5. You can configure time synch with NTP from VI Client.

Monday, October 29, 2007

Creating user accounts on your W2K8 core

Again, since there is no GUI available, you'll have to compile a script to create your user accounts.
There are 3 possible ways of creating user accounts on your W2K8 core: create a vbs scripts, or use the DSADD or csv command line possibilities.

To create a vbs script, log on to your server and create a vbs file where you would like it with the command: edit c:\temp\user.vbs. In this case, I'll create a user.vbs file in my temp folder.
Then, we'll have to use our scripting knowledge to create the user and their desired attributes. I'm not going to elaborate on all the options, since there are too many, but here is the standard example which you can adjust to your needs:
Set objOU = GetObject("LDAP://OU=Users,OU=_Test,dc=fabrikam,dc=com")
Set objUser = objOU.Create("User", "cn=Kristof Vanweert")
objUser.Put "sAMAccountName", "KrVa"
objUser.SetInfo

Also, Microsoft provides a site on which you have a ton of script examples you can use to extract information: The Script Center Script Repository

CSV files are saved in a csv format, so to create one, we can enter edit c:\temp\user.csv. In the blue screen you receive you can enter again the information you want, for example:
DN,objectClass,sAMAccountName,sn,givenName,userPrincipalName
"CN=Kristof Vanweert,OU=Users,OU=_Test,DC=vm,DC=local", user,KrVa,Vanweert,Kristof,kristof.vanweert@vm.local

Notice that the first line declares all the variables that have to come back on every user you create below. Also, these variables are the same you can use in a vbs script.
When your file is finished, you can import it with the command: csvde -i -f c:\temp\user.csv. A list with all options you can add to the csvde command, you can find here.

Last, and probably easiest to work with, is the DSADD command. It features all the most important attributes, but not everything can be done with this command.
Users created with this command are saved in a cmd file: edit edit c:\temp\user.cmd which is later simply executed from the command line. In the command below, I create my user account in the correct OU and set a temporary password:
dsadd user "CN=Kristof Vanweert,OU=Users,OU=_Test,DC=vm,DC=local" -samid KrVa -upn KrVa -fn Kristof -mi THJ -ln Vanweert -display "Kristof Vanweert" -pwd Azerty123 -mustchpwd yes -pwdneverexpires yes
Again, a whole list of switches you can use, can be found at microsoft.

Of course, it is pretty obvious these commands can be adjusted to create OU's, groups, computers, ... Also modifying, deleting, retrieving information, ... can be done by changing a few parameters in the sample scripts posted above.

Have fun

Friday, October 26, 2007

Promoting your W2K8 core to Domain Controller

To promote our W2K8 core server, we need to have an answer file for an unattented installation, since the GUI is no longer available.

Our answer file we can create on an existing DC, for example a W2K3 domain controller.
1. insert the W2K3 installation CD/DVD in your machine and extract the file ref.chm which is located in \SUPPORT\TOOLS\DEPLOY.CAB and select a destination

2. open the ref.chm file, click on Unattend.txt, then click on [DCInstall], scroll down to the example and copy this to a notepad.

3. adjust the answer file to your needs. Look for more information in the ref.chm file.
4. run adprep /forestprep on the installed DC to prepare the forest for a new DC. This can be found on the W2K8 installation DVD under Sources\ADprep. It should look something like this:

5. next is the domainprep

6. copy the file to your W2K8 core and run Dcpromo /unattend:unattendfile to start the promotion to DC

7. restart the server to apply the changes with the command shutdown /r /t 0
8. check on your original DC the Active Directory Users and Computers to see if your servre is now a domain controller

In this scenario, I've promoted my W2K8 core to a DC in an existing domain. Of course the same procedure can be applied to create a new domain or even forest.

Renaming and joining a W2K8 core to the domain

To further prepare our W2K8 core server for promotion to a DC, we'll have to rename it first and join it to the existing domain.

First we'll rename it, by following these steps:
1. type hostname, to receive your current machine name
2. now type Netdom renamecomputer OldComputerName /NewName:NewComputerName
3. restart the server by typing Shutdown /r /t 0


Now that our server has the desired name, we can join in to our domain.
1. type netdom join ComputerName /domain:DomainName /userd:UserName /passwordd:*
By putting * behind the password switch, we can enter the password of the user when prompted without having to type it in clear text.
2. restart the server by typing Shutdown /r /t 0

Configuring an IP address on W2K8 core

By default, your W2K8 core server will receive an IP address from a DHCP server that is connected on the same network. This address, can be reserved in your DHCP.
But of course, you can choose to configure a static IP address. Since I'm planning to promote this server to a DC, I'll need to give it a static IP address.

To do this, we'll have to learn some new command lines:
1. type netsh interface ipv4 show interfaces to receive a list of your NICS.

From the print screen you can see, I have 1 physical NIC in my server and 1 loopback address. Keep the Idx number in mind, we'll need it later
2. type netsh interface ipv4 set address name="ID" source=static address=StaticIP mask=SubnetMask gateway=DefaultGateway and replace the italic with the necessary information

3. type netsh interface ipv4 add dnsserver name="ID" address=DNSIP index=1 to set your DNS server
(Repeat this step as often as there are DNS servers in your domain.

4. type IPconfig /all to see you results

To go back to a DHCP address, type netsh interface ipv4 set address name="ID" source=dhcp.