[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Adding Exchange 2003 to existing domain vs. New SBS2003 environment?

Posted on 2004-11-29
14
Medium Priority
?
433 Views
Last Modified: 2008-02-01
I need advice please.

I intend to add an Exchange server to my W2k AD network.

I currently manage a Windows 2000 AD domain with about 20 users.  I want to add Exchange 2003 to my environment and am torn between a couple of options.

What do you think would be a more beneficial path, a new SBS2003 environment and migration of my "old" domain, or simply adding Server2003/Exchange2003 to the existing domain?  I am interested in beneficial, not simplicity.

I am finding that SBS2003 would be a cheaper solution than it would be to add another 2003 server and also Exchange 2003.  As well, SBS 2003 has ISA and some other features, which I could probably find use with.

Of course, it would be a hassle to migrate my existing domain to the new SBS2003 domain, and go through demoting and promoting my “old” servers into it.  But is it worth it?

Does anyone have an opinion based on experience with this?

Thanks very much!

- Joe
0
Comment
Question by:JOE-BULLITT
  • 7
  • 4
  • 2
  • +1
14 Comments
 
LVL 97

Assisted Solution

by:Lee W, MVP
Lee W, MVP earned 400 total points
ID: 12701396
One advantage to SBS2K3 is that the Exchange server included with it has a POP3 Connector that will download mail from pop3 accounts to your local exchange server.  These such connectors would typically cost more and have to be purchased from a third party (though the included one will only check mail every 15 minutes at it's most frequent).

BUT, SBS has limitations.  I BELIEVE you would have to buy new CALs for your clients.  You can NEVER setup a trust between the SBS domain and another domain.  Active Directory seems to have to be configured in a semi-specific way (certain OUs should not be deleted as problems may arise - I know this from personal experience).  You have a maximum number of users, I think 75 - maybe 100.  

Personally, if cost wasn't that much of an issue - I'd go with the real products and not the bundled stuff.
0
 
LVL 15

Assisted Solution

by:harleyjd
harleyjd earned 400 total points
ID: 12701474
For 20 users, SBS 2003 Premium (only Premium has ISA and SQL) would be the cost effective option. I loathe the SBS concept, but the reality is it is cheap, it does its job and did I say it is cheap?

For 20 workstations, without considering any servers, I would allow 4 to 6 days mucking around time. This is from go to woa - building the new server, installing SBS options, creating accounts, moving data, rejoining workstations, and tidying up.

http://go.microsoft.com/fwlink/?LinkId=16414 is the official migrate/upgrade guide.

However, I have heard you can install SBS2003 into an existing domain (Yes, into!) take over the FSMO roles, and then demote the old server (or keep it as a backup DC (not a BDC, a backup DC, OK?)) :)

So potentially, you'd just end up with a new server in the old domain, so no SID changes, no disjoin/rejoin no mucking about. Just a bit of data transfer.

Leew - SBS2003 supports up to 75 users, but everything else you said is spot on, especially the $$$ not an issue comment.

harley...


0
 
LVL 74

Accepted Solution

by:
Jeffrey Kane - TechSoEasy earned 1200 total points
ID: 12701534
YES!!! You sound like a perfect candidate for SBS.  If you listen to those guyse above, who I'm sure are very versed with Enterprise server environments, you won't get the real story.

First, migration is easy.  Go to http://www.sbsmigration.com/ and take a look.  Second, the value for a company of 20 pc's is unbelievable.  You not only get Exchange, but SharePoint, Fax Server, Server Monitoring, Remote Web Workplace (not even available for regular Server 2003)!  

Ideally, you'd want the client machines to be running XP Pro and Office 2003 Pro to get the best value out of the network, but they aren't required.  If you aren't ready to use ISA or SQL Server, you don't need to buy the premium edition.  It can always be bought later for the price differential.

IT's WORTH IT!!!

Let me know if you want any other specific info, or just check out http://www.sbslinks.com for more.

Good Luck!

Jeff @
TechSoEasy
0
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
LVL 74

Expert Comment

by:Jeffrey Kane - TechSoEasy
ID: 12701547
P. S.  Regarding the comment about "real products":  These are the real products.  Just make sure that you use the wizards when doing anything because there are multiple things happening at the same time.  If you do decide to go the SBS route, check out my install advice at:  http://www.experts-exchange.com/Operating_Systems/Windows_Server_2003/Q_21031607.html

Jeff @
TechSoEasy
0
 
LVL 97

Expert Comment

by:Lee W, MVP
ID: 12701571
Yes, I'm well versed in enterprise environments.  And when I moved into a small business with SBS I found the limitations a bit too restrictive for how I like to do things.  If you've been working with the full versions, then you too might have issues.  

SBS can be a good thing where price is an issue.  Where it isn't I would go with the full versions.

And I know these are the "real products" - maybe a poor choice of words.  But that's another thing - I HATE using the Wizards but if you don't you could have problems - that's just poor design if you ask me.
0
 
LVL 15

Expert Comment

by:harleyjd
ID: 12701619
I take offense at the way jeff dismisses my tech skills and assumes bias while at the same time being completely dismissive of the need for enterprise products in small environments.

I can't speak for leew, but I hope he agrees with me here, but we both supported the SBS concept, but we both prefer to work in the unrestricted (I use that term deliberately) versions of the product. We both presented a more rounded view of SBS than jeff did, we offered both support and discouragement for good reasons.

I work equally with both SBS and full products, and I have a very good understanding of the limitations of SBS, and they are limitations.

I like the ability to mess with the Exchange server, without impacting the rest of the network, same goes for ISA and SQL. I don't like wizards, and I see leew doesn't either.

I don't want to get into a flame war, but Joe deserves as much info as he can handle.
0
 
LVL 74

Expert Comment

by:Jeffrey Kane - TechSoEasy
ID: 12701724
I'm sorry if you all feel that way... no intention to flame.  But honestly... people that have a ton of experience with enterprise servers generally don't understand the SBS concept.  You both comment about hating wizards, yet you don't take into account that because all of these roles are in the same box, sometimes doing things manually requires many more steps and there are too many possibilities to miss something.

The limitations of SBS are only because of all of the servers being in the same box (as well as DECIDED marketing issues for MS).  For a company with 20 PC's the idea is to provide a rather STANDARDIZED configuration which will work in MOST situations.  Obviously it won't work in all... I have one client, for instance that has 6 remote users, and wanted Terminal Services in Application Mode on the SBS (which can't be done due to it being a DC and Exchange Server).  So, instead of adding another server, we accomplished the task by adding Virtual Server 2005 and Server 2003 in a virtual environment.  It's working like a charm!  There are tons of creative ways to do things...  but most importantly, by keeping within the philosophy of SBS, (ie, using the wizards) maintenance and upkeep are kept to a minimum so you can focus on the things that really make you money (the core business).  That is, unless of course you are the full-time IT guy and you know that doing it the SBS way may put you out of a job.

Just as an FYI, this is a log from one of the wizards (Internet and Email Connection Wizard) to show you how much it does:

11/20/2004 4:32 PM
C:\Program Files\Microsoft Windows Small Business Server\Networking\ICW\wizemail.dll, version 5.2.2651.0
calling CEmailCommit::ValidatePropertyBag ().
calling pdispPPPBag->QueryInterface (IPropertyPagePropertyBag, 0x6f558).
Call to pdispPPPBag->QueryInterface () returned ok.
calling ReadInt4 (0x26a6a8, DB5E5E45-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 1.
calling CValidatePropertyUtil.ValidatePropertyInteger ().
Call to CValidatePropertyUtil.ValidatePropertyInteger () returned ok.
calling ReadBool (0x26a6a8, F71526DD-9C19-4fe9-B7DB-FD4360909275).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadBool (0x26a6a8, DB5E5E46-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadBool () returned ok.
The out param of ReadBool() is 0.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadBool (0x26a6a8, 1DB7A50F-98F8-452f-868B-1AAC56585DD0).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadInt4 (0x26a6a8, C9D8697B-0D4C-4767-8F1F-4CE415098774).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 0x2.
calling CValidatePropertyUtil.ValidatePropertyLong ().
Call to CValidatePropertyUtil.ValidatePropertyLong () returned ok.
calling ReadString (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
Call to ReadString () returned ok.
The out param of ReadString() is samplesbs.com.
calling ReadBool (0x26a6a8, 1DB7A50F-98F8-452f-868B-1AAC56585DD0).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling ReadInt4 (0x26a6a8, C9D8697B-0D4C-4767-8F1F-4CE415098774).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 0x2.
calling CValidatePropertyUtil.ValidatePropertyHostName ().
Call to CValidatePropertyUtil.ValidatePropertyHostName () returned ok.
calling AttachCommiter.Validate(pPPPBag) (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
calling CAttachCommiter::Validate (0x26a6a8).
calling CAttachCommiter::Validate:ReadVariant (0x0).
calling CAttachCommiter::Validate:m_spDoc.CoCreateInstance (0x0).
calling CAttachCommiter::Validate:m_spDoc->loadXML (0x0).
Call to CAttachCommiter::Validate () returned ok.
Call to CEMailCommit::ValidatePropertyBag () returned ok.
calling CNetCommit::Commit (2533032).
calling CNetCommit::ValidatePropertyBag ().
Call to Querying for the property bag () returned ok.
Property bag is not dirty, skipping validation
calling CNetCommit::Common ().
calling CNetCommit::GetLanNicInfo ().
LAN NIC Guid: {9AFD6B93-C39D-4047-B23E-5DB8BA353659}
Call to Converting LAN NIC Guid () returned ok.
Call to Getting IP address for the LAN NIC () returned ok.
Call to Reading in the LAN NIC info () returned ok.
Call to Fixing the TCP/IP NIC Binding order () returned ok.
Dhcp server is installed and not disabled
Call to Set DHCP Server to start up automatically () returned ok.
DNS server is installed and not disabled
Call to Changing startup type for DNS () returned ok.
Call to Clearing DNS server entries on the LAN NIC () returned ok.
Call to Setting DNS server IP for the LAN NIC () returned ok.
Call to Resetting DNS recursion timeout () returned ok.
Call to Resetting client dns query timouts in config.dat () returned ok.
Call to DsGetDcName for local domain name () returned ok.
Call to Disabling RRAS routing () returned ok.
calling CNetCommit::DoRouter ().
Call to Clearing the default gateway on the LAN NIC () returned ok.
Call to Setting default gateway on the LAN NIC () returned ok.
Call to Setting DNS forwarders () returned ok.
Call to Preparing DNS for DNS listener reset () returned ok.
Call to Resetting DNS listeners () returned ok.
URL to the router is http://192.168.10.1
Call to Adding routers IP address to the intranet zone () returned ok.
Call to CNetCommit::DoRouter () returned ok.
Call to Configuring for router connection () returned ok.
calling ConfigureIE ().
calling SetInternetOptions ((null), (null), (null)).
calling InternetSetOptionA (NULL, INTERNET_OPTION_PER_CONNECTION_OPTION).
Call to InternetSetOptionA () returned ok.
Call to SetInternetOptions () returned ok.
calling InternetSetOption_AutodialConnection ().
Call to InternetSetOption_AutodialConnection () returned ok.
calling InternetSetOption_AutodialMode (4).
Call to InternetSetOption_AutodialMode () returned ok.
calling InternetSetOption_DisableAutodial (0).
Call to InternetSetOption_DisableAutodial () returned ok.
Call to ConfigureIE () returned ok.
Call to Configuring IE for router connection () returned ok.
Call to Notifying client setup for Default gateway as the router () returned ok.
calling RegisterMSBOExchangeBP (0).
Error 0x1 returned from call to RegisterMSBOExchangeBP().
Call to Unregistering the smtp sink () returned ok.
Call to GetLocalDomainName () returned ok.
Call to Reading in the local domain name () returned ok.
Local Domain Name is: samplesbs.local
Call to Enabling secure dynamic DNS updates () returned ok.
Call to Disabling RoundRobin for DNS server () returned ok.
Call to GetLocalDomainName () returned ok.
Call to Configuring DHCP options () returned ok.
Call to Disabling the RASUTO service () returned ok.
Call to Configuring w32time parameters for non-fulltime () returned ok.
Call to CNetCommit::Common () returned ok.
Call to CNetCommit::Commit () returned ok.
calling CRFireCommit::CommitEx (0x26a6a8).
calling CRFireCommit::ValidatePropertyBag (0x26a6a8).
Upnp URL is http://192.168.10.1:80/UPnPIPdesc.xml
Call to Initializing Upnp Device () returned ok.
Error 0x1 returned from call to HttpGetDeviceXML().
Error 0x80004005 returned from call to GetServiceConfigURL for WANPPPConnection().
Call to GetServiceConfigURL for WANIPConnection () returned ok.
Router supports WANIPConnection
Service config URL http://192.168.10.1/upnp/control/WANIPConnControl
Call to Reading web publishing selection () returned ok.
Call to Reading OWA publishing selection () returned ok.
Call to Reading RUP publishing selection () returned ok.
Call to Reading Monitoring publishing selection () returned ok.
Call to Reading OMA publishing selection () returned ok.
Call to Reading RPC publishing selection () returned ok.
Call to Reading Companyweb publishing selection () returned ok.
Call to Reading ROOT publishing selection () returned ok.
Web publishing selections:
OWA publishing: 1
RUP publishing: 1
Monitoring publishing: 1
OMA publishing: 1
RPC publishing: 1
Companyweb publishing: 1
ROOT publishing: 0
Call to CRFireCommit::ValidatePropertyBag () returned ok.
DeleteAllPortMappings 0
AddUpnpPortMapping with TCP 25 returned 0
AddUpnpPortMapping with TCP 1723 returned 0
AddUpnpPortMapping with TCP 3389 returned 0
AddUpnpPortMapping with TCP 21 returned 0
AddUpnpPortMapping with TCP 80 returned 0
AddUpnpPortMapping with TCP 443 returned 0
Call to CreateUpnpPortMappings () returned ok.
AddUpnpPortMapping with TCP 4125 returned 0
AddUpnpPortMapping with TCP 444 returned 0
Call to CreateUpnpPortMappings () returned ok.
Call to GetPrivateNICGuid () returned ok.
Call to GetIPAddress for private nic () returned ok.
Call to GetSubnetMask for private nic () returned ok.
RUP is published
Call to Fixing the inheritance for root dir () returned ok.
Call to Unpublishing the default web site () returned ok.
Call to Fixing the inheritance for companyweb dir () returned ok.
Call to Unpublishing companyweb () returned ok.
Call to Publishing /Exchange () returned ok.
Call to Publishing /ExchWeb () returned ok.
Call to Publishing /Public () returned ok.
Call to Publishing /ExAdmin () returned ok.
Call to Publishing RUP () returned ok.
Call to Publishing client help for RUP () returned ok.
Call to Publishing Monitoring () returned ok.
Call to Publishing OMA () returned ok.
Call to Publishing ActiveSync () returned ok.
Call to Publishing RPC () returned ok.
Call to Configuring RPC over HTTP () returned ok.
Call to Publishing Companyweb () returned ok.
Call to Publishing Companyweb _layouts () returned ok.
Call to Publishing Companyweb _vti_bin () returned ok.
Call to Publishing Companyweb _wpresources () returned ok.
Call to Notify RUP for OWA () returned ok.
Call to Notify RUP for Monitoring () returned ok.
Call to Notify RUP for RPC () returned ok.
Call to Notify RUP for Companyweb () returned ok.
Call to Restricting exhchangeoma to local server only () returned ok.
Call to Restricting ConnectComputer to local network only () returned ok.
Call to GetInternetServerName () returned ok.
Call to GetNetbiosDomainName () returned ok.
Call to NotifyProvisioning () returned ok.
Call to Limiting number of connections () returned ok.
Call to Sending RUP intro mail () returned ok.
Call to Saving web publishing selection () returned ok.
calling Set Web Publishing Rules (0x0).
Call to GetPrivateNICGuid () returned ok.
Call to WMIGetIPAddress () returned ok.
Call to IISConfig Set () returned ok.
Call to Setting default logon domain for OMA () returned ok.
Call to Setting Anonymous Access () returned ok.
Call to CRFireCommit::Commit () returned ok.
Calling CCertCommit::CommitEx
Calling CCertCommit::ValidatePropertyBag
Require SSL for OWA: 1
Require SSL for Remote Portal: 1
Require SSL for Monitoring: 0
Require SSL for OMA: 0
Require SSL for CompanyWeb: 0
Require 128 Bit Encryption: 1
Cert selection: -1
CCertCommit::ValidatePropertyBag returned OK
CCertCommit::EnableSSL returned OK
CCertCommit::RequireSSL returned OK
CCertCommit::NotifyRemoteUserPortal returned OK
Reading the Internet Server Name returned OK
Updating provisioning info returned OK
Sending RUP intro mail returned OK
CCertCommit::SaveUserSelections returned OK
CCertCommit::CommitEx returned OK
calling CEmailCommit::Commit (0x26a6c0).
calling CEmailCommit::ValidatePropertyBag ().
calling pdispPPPBag->QueryInterface (IPropertyPagePropertyBag, 0x6f4d4).
Call to pdispPPPBag->QueryInterface () returned ok.
calling ReadInt4 (0x26a6a8, DB5E5E45-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 1.
calling CValidatePropertyUtil.ValidatePropertyInteger ().
Call to CValidatePropertyUtil.ValidatePropertyInteger () returned ok.
calling ReadBool (0x26a6a8, F71526DD-9C19-4fe9-B7DB-FD4360909275).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadBool (0x26a6a8, DB5E5E46-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadBool () returned ok.
The out param of ReadBool() is 0.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadBool (0x26a6a8, 1DB7A50F-98F8-452f-868B-1AAC56585DD0).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadInt4 (0x26a6a8, C9D8697B-0D4C-4767-8F1F-4CE415098774).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 0x2.
calling CValidatePropertyUtil.ValidatePropertyLong ().
Call to CValidatePropertyUtil.ValidatePropertyLong () returned ok.
calling ReadString (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
Call to ReadString () returned ok.
The out param of ReadString() is samplesbs.com.
calling ReadBool (0x26a6a8, 1DB7A50F-98F8-452f-868B-1AAC56585DD0).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling ReadInt4 (0x26a6a8, C9D8697B-0D4C-4767-8F1F-4CE415098774).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 0x2.
calling CValidatePropertyUtil.ValidatePropertyHostName ().
Call to CValidatePropertyUtil.ValidatePropertyHostName () returned ok.
calling AttachCommiter.Validate(pPPPBag) (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
calling CAttachCommiter::Validate (0x26a6a8).
calling CAttachCommiter::Validate:ReadVariant (0x0).
calling CAttachCommiter::Validate:m_spDoc.CoCreateInstance (0x0).
calling CAttachCommiter::Validate:m_spDoc->loadXML (0x0).
Call to CAttachCommiter::Validate () returned ok.
Call to CEMailCommit::ValidatePropertyBag () returned ok.
calling pdispPPPBag->QueryInterface (IPropertyPagePropertyBag, 0x6f544).
Call to pdispPPPBag->QueryInterface () returned ok.
calling ReadInt4 (0x26a6a8, DB5E5E45-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 1.
calling GetDomainAndControllerNames ().
Call to GetDomainAndControllerNames () returned ok.
calling GetOrganizationName (\\just1.samplesbs.local, DC=samplesbs,DC=local).
Call to GetOrganizationName () returned ok.
calling GetFirstAdministrativeGroup (\\just1.samplesbs.local, DC=samplesbs,DC=local, samplesbs).
Call to GetFirstAdministrativeGroup () returned ok.
calling GetFirstRoutingGroup (\\just1.samplesbs.local, DC=samplesbs,DC=local, samplesbs, first administrative group).
Call to GetFirstRoutingGroup () returned ok.
Call to SetCookieAuthentication () returned ok.
Call to Enabling Wireless admin for OMA () returned ok.
Call to Setting SMTPSVC to start up automatically () returned ok.
calling CAttachCommiter::Commit (0x26a6a8).
calling CAttachCommiter::Commit:ReadVariant(GUID_ATTACH_CONFIG) (0x0).
calling CAttachCommiter::Commit:m_spDoc.CoCreateInstance (0x0).
calling CAttachCommiter::Commit:m_spDoc->loadXML (0x0).
calling CAttachCommiter::Commit:WriteConfigFile (0x0).
calling CAttachCommiter::WriteConfigFile (0x40000003).
calling CAttachCommiter::WriteConfigFile:_GetSBSInstallDir (0x0).
calling CAttachCommiter::WriteConfigFile:m_spDoc->save (0x0).
Call to CAttachCommiter::WriteConfigFile () returned ok.
calling CAttachCommiter::Commit:ShouldEnableSink (0x0).
calling CAttachCommiter::ShouldEnableSink (0x40000003).
calling CAttachCommiter::ShouldEnableSink:m_spDoc->selectSingleNode (0x40000003).
calling CAttachCommiter::ShouldEnableSink:spEnabledNode->get_text (0x40000003).
calling CAttachCommiter::ShouldEnableSink:m_spDoc->selectNodes (0x40000003).
calling CAttachCommiter::ShouldEnableSink:pUnsafeAttachsNodeList->get_length (0x40000003).
Call to CAttachCommiter::ShouldEnableSink () returned ok.
calling CAttachCommiter::Commit:pSink.CoCreateInstance(SecAttsEventSink) (0x0).
calling CAttachCommiter::Commit:pSink->Register (0x0).
Call to CAttachCommiter::Commit () returned ok.
calling EnableSMTPConnector (0x26a6a8, \\just1.samplesbs.local, DC=samplesbs,DC=local, samplesbs).
calling DoRecipientPolicy (0x26a6a8).
calling ReadString (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
Call to ReadString () returned ok.
The out param of ReadString() is samplesbs.com.
calling FinalValidateHostName (samplesbs.com).
Call to FinalValidateHostName () returned ok.
calling GetDefaultPolicy (0x6f3cc).
Call to GetDefaultPolicy () returned ok.
calling GetPostmasterProxyAddresses ().
Call to GetPostMasterProxyAddresses () returned ok.
calling UpdatePostmasterAddress (0x1eae530, samplesbs.com).
Call to UpdatePostmasterAddress () returned ok.
calling ResetRUS ().
calling spADs->SetInfo() ().
Call to spADs->SetInfo () returned ok.
Ignoring return value from call to spADs->SetInfo().
calling spADs->SetInfo() ().
Call to spADs->SetInfo () returned ok.
Ignoring return value from call to spADs->SetInfo().
Call to ResetRUS () returned ok.
calling SetDefaultPolicy (samplesbs.com).
calling SetDefaultSMTPRecipient (0x1e81058, samplesbs.com).
calling GetDefaultRecipientArray (0x1e81058, 0x6f358).
Call to GetDefaultRecipientArray () returned ok.
calling SafeArrayGetLBound (0x1e82288, 1, 0x6f350).
The out param of SafeArrayGetLBound() is 0.
calling SafeArrayGetUBound (0x1e82288, 1, 0x6f34c).
The out param of SafeArrayGetUBound() is 2.
calling SafeArrayGetElement (0x1e82288, 0, 0x6f308).
The out param of SafeArrayGetElement() is smtp:@samplesbs.local.
calling UpdateRUS (smtp:@samplesbs.local).
Call to UpdateRUS () returned ok.
calling SafeArrayPutElement (0x1e82288, 0, smtp:@samplesbs.local).
Call to SafeArrayPutElement () returned ok.
calling SafeArrayGetElement (0x1e82288, 1, 0x6f308).
The out param of SafeArrayGetElement() is SMTP:@samplesbs.com.
calling UpdateRUS (SMTP:@samplesbs.com).
Call to UpdateRUS () returned ok.
calling SafeArrayPutElement (0x1e82288, 1, SMTP:@samplesbs.com).
Call to SafeArrayPutElement () returned ok.
calling SafeArrayGetElement (0x1e82288, 2, 0x6f308).
The out param of SafeArrayGetElement() is X400:c=US;a= ;p=samplesbs;o=Exchange;.
calling SafeArrayCopy (0x1e82288).
Call to SafeArrayCopy () returned ok.
calling LogSet_gatewayProxy ().
Element: smtp:@samplesbs.local.
Element: SMTP:@samplesbs.com.
Element: X400:c=US;a= ;p=samplesbs;o=Exchange;.
Call to LogSet_gatewayProxy () returned ok.
calling pADs->SetInfo ().
Call to pADs->SetInfo () returned ok.
calling SafeArrayDestroy (0x1e82288).
Ignoring return value from call to SafeArrayDestroy().
Call to SetDefaultSMTPRecipient () returned ok.
Call to SetDefaultPolicy () returned ok.
calling KickRUS ().
calling spADs->SetInfo() ().
Call to spADs->SetInfo () returned ok.
Ignoring return value from call to spADs->SetInfo().
calling spADs->SetInfo() ().
Call to spADs->SetInfo () returned ok.
Ignoring return value from call to spADs->SetInfo().
Call to KickRUS () returned ok.
Call to DoRecipientPolicy () returned ok.
calling DoSmtpRelayIp ().
Call to DoSmtpRelayIp () returned ok.
calling ADsGetObject (LDAP://just1.samplesbs.local/CN=SmallBusiness SMTP connector,CN=Connections,CN=first routing group,CN=Routing Groups,CN=first administrative group,CN=Administrative Groups,CN=samplesbs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=samplesbs,DC=local, IADs, 0x6f418).
Call to ADsGetObject () returned ok.
calling spADs->SetInfo ().
Call to spADs->SetInfo () returned ok.
calling spADs->SetInfo ().
Call to spADs->SetInfo () returned ok.
calling _RestartService (RESvc, 1).
Call to _RestartService () returned ok.
calling _RestartService (SMTPSvc, 1).
Call to _RestartService () returned ok.
Call to EnableSMTPConnector () returned ok.
Call to Getting NETBIOS domain name () returned ok.
NETBIOS domain name: samplesbs
Call to Enabling NTLM on /public () returned ok.
calling ReadBool (0x26a6a8, DB5E5E46-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadBool () returned ok.
The out param of ReadBool() is 0.
calling CommitPOP3 (0x26a6a8).
calling _StopService (MSPOP3Connector, 1).
Ignoring return value from call to _StopService().
Call to CommitPOP3 () returned ok.
calling _SetRegInt4Value (HKEY_LOCAL_MACHINE, SOFTWARE\Microsoft\SmallBusinessServer\Connectivity\ICW, Last_MailOption_Exchange, 1).
Ignoring return value from call to _SetRegInt4Value().
calling _SetRegInt4Value (HKEY_LOCAL_MACHINE, SOFTWARE\Microsoft\SmallBusinessServer\Connectivity\ICW, Last_DequeueOption_Exchange, 1).
Ignoring return value from call to _SetRegInt4Value().
Call to CEMailCommit::Commit () returned ok.
calling CNetCommit::SaveConfig ().
calling CEmailCommit::ValidatePropertyBag ().
calling pdispPPPBag->QueryInterface (IPropertyPagePropertyBag, 0x6f52c).
Call to pdispPPPBag->QueryInterface () returned ok.
calling ReadInt4 (0x26a6a8, DB5E5E45-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 1.
calling CValidatePropertyUtil.ValidatePropertyInteger ().
Call to CValidatePropertyUtil.ValidatePropertyInteger () returned ok.
calling ReadBool (0x26a6a8, F71526DD-9C19-4fe9-B7DB-FD4360909275).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadBool (0x26a6a8, DB5E5E46-3598-4F1D-8FF7-0ED35B9EB6A4).
Call to ReadBool () returned ok.
The out param of ReadBool() is 0.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadBool (0x26a6a8, 1DB7A50F-98F8-452f-868B-1AAC56585DD0).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling CValidatePropertyUtil.ValidatePropertyBool ().
Call to CValidatePropertyUtil.ValidatePropertyBool () returned ok.
calling ReadInt4 (0x26a6a8, C9D8697B-0D4C-4767-8F1F-4CE415098774).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 0x2.
calling CValidatePropertyUtil.ValidatePropertyLong ().
Call to CValidatePropertyUtil.ValidatePropertyLong () returned ok.
calling ReadString (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
Call to ReadString () returned ok.
The out param of ReadString() is samplesbs.com.
calling ReadBool (0x26a6a8, 1DB7A50F-98F8-452f-868B-1AAC56585DD0).
Call to ReadBool () returned ok.
The out param of ReadBool() is 1.
calling ReadInt4 (0x26a6a8, C9D8697B-0D4C-4767-8F1F-4CE415098774).
Call to ReadInt4 () returned ok.
The out param of ReadInt4() is 0x2.
calling CValidatePropertyUtil.ValidatePropertyHostName ().
Call to CValidatePropertyUtil.ValidatePropertyHostName () returned ok.
calling AttachCommiter.Validate(pPPPBag) (0x26a6a8, 01637C90-B142-41C4-8520-6B2E0F891BE7).
calling CAttachCommiter::Validate (0x26a6a8).
calling CAttachCommiter::Validate:ReadVariant (0x0).
calling CAttachCommiter::Validate:m_spDoc.CoCreateInstance (0x0).
calling CAttachCommiter::Validate:m_spDoc->loadXML (0x0).
Call to CAttachCommiter::Validate () returned ok.
Call to CEMailCommit::ValidatePropertyBag () returned ok.
calling CScriptUtil::RenameFile (config35.vbs).
Call to CScriptUtil::RenameFile () returned ok.
calling CScriptUtil::OpenFileToRead (temp.icw).
Call to CScriptUtil::OpenFileToRead () returned ok.
The out param of CScriptUtil::OpenFileToRead() is 0x77bebd00.
calling CScriptUtil::CreateFile (config35.vbs).
Call to CScriptUtil::CreateFile () returned ok.
The out param of CScriptUtil::CreateFile() is 0x77bebd40.
calling CopyUntilSection (0x77bebd00, 0x77bebd40).
Call to CScriptUtil::CopyUntilSection () returned ok.
calling WriteEmailSection (0x77bebd40).
Call to WriteEmailSection () returned ok.
calling CScriptUtil::CopyUntilSection (0x77bebd00, 0x77bebd40).
Call to CScriptUtil::CopyUntilSection () returned ok.
calling WriteSetPropertySection (0x77bebd40).
Call to WriteSetPropertySection () returned ok.
calling CScriptUtil::CopyUntilSection (0x77bebd00, 0x77bebd40).
Call to CEMailCommit::SaveConfig () returned ok.
Calling CCertCommit::SaveConfig
Calling CCertCommit::ValidatePropertyBag
Require SSL for OWA: 1
Require SSL for Remote Portal: 1
Require SSL for Monitoring: 0
Require SSL for OMA: 0
Require SSL for CompanyWeb: 0
Require 128 Bit Encryption: 1
Cert selection: -1
CCertCommit::ValidatePropertyBag returned OK
CCertCommit::SaveConfig returned OK
calling CRFireCommit::SaveConfig ().
calling CRFireCommit::ValidatePropertyBag (0x26a6a8).
Upnp URL is http://192.168.10.1:80/UPnPIPdesc.xml
Call to Initializing Upnp Device () returned ok.
Error 0x1 returned from call to HttpGetDeviceXML().
Error 0x80004005 returned from call to GetServiceConfigURL for WANPPPConnection().
Call to GetServiceConfigURL for WANIPConnection () returned ok.
Router supports WANIPConnection
Service config URL http://192.168.10.1/upnp/control/WANIPConnControl
Call to Reading web publishing selection () returned ok.
Call to Reading OWA publishing selection () returned ok.
Call to Reading RUP publishing selection () returned ok.
Call to Reading Monitoring publishing selection () returned ok.
Call to Reading OMA publishing selection () returned ok.
Call to Reading RPC publishing selection () returned ok.
Call to Reading Companyweb publishing selection () returned ok.
Call to Reading ROOT publishing selection () returned ok.
Web publishing selections:
OWA publishing: 1
RUP publishing: 1
Monitoring publishing: 1
OMA publishing: 1
RPC publishing: 1
Companyweb publishing: 1
ROOT publishing: 0
Call to CRFireCommit::ValidatePropertyBag () returned ok.
Call to CRFireCommit::SaveConfig () returned ok.
calling CNetCommit::SaveConfig ().
calling CNetCommit::ValidatePropertyBag ().
Call to Querying for the property bag () returned ok.
Property bag is not dirty, skipping validation
calling oScriptUtil.RenameFile ().
Call to oScriptUtil.RenameFile () returned ok.
calling oScriptUtil.OpenFileToRead ().
Call to oScriptUtil.OpenFileToRead () returned ok.
calling oScriptUtil.CreateFile ().
Call to oScriptUtil.CreateFile () returned ok.
calling oScriptUtil.CopyUntilSection ().
Call to oScriptUtil.CopyUntilSection () returned ok.
calling WriteNetworkSection ().
Call to WriteNetworkSection () returned ok.
calling oScriptUtil.CopyUntilSection ().
Call to oScriptUtil.CopyUntilSection () returned ok.
calling WriteSetPropertySection ().
Call to WriteSetPropertySection () returned ok.
Call to CNetCommit::SaveConfig () returned ok.
calling GetBOConnector ().
Call to GetBOConnector () returned ok.
calling spADs->PutEx (ADS_PROPERTY_CLEAR, msExchSmtpOutboundSecurityPassword).
Call to spADs->PutEx () returned ok.
calling spADs->SetInfo ().
Call to spADs->SetInfo () returned ok.

Sorry if my comments sounded like a flame... it's just that SBS gets me excited!

Jeff @
TechSoEasy
0
 
LVL 74

Expert Comment

by:Jeffrey Kane - TechSoEasy
ID: 12701759
Lastly... the original question asked "Does anyone have an opinion based on experience with this?"

My opinion was based on the 22 SBS 2003 installations I've done over the past 10 months, including 5 migrations (2 from SBS2K and 3 from NT 4.0).  So, I provided exactly that.  

Jeff
0
 
LVL 97

Expert Comment

by:Lee W, MVP
ID: 12702655
And my experience is based on moving from a NON-SBS environment (which his environment is) to an SBS environment.  I didn't like it and don't recommend it - unless cost is an issue.
0
 
LVL 74

Expert Comment

by:Jeffrey Kane - TechSoEasy
ID: 12746774
um, those would be the migrations from NT4.0 that I've done.
0
 

Author Comment

by:JOE-BULLITT
ID: 12749820
Thank you all very much for your wise insight and great advice!

I have decided to go ahead and get SBS2003, mainly due to pricing.  It is just I bit too much money to buy Server 2003 and Exchange 2003, plus licensing, when SBS2003 has it all for "one low price".

I know that I am going to have to deal with a domain migration and dcpromo's, but I don't think it should be too daunting.  Plus it will afford me the chance to put together my domain a little differently.

While there certainly are limitations with SBS, I don’t think that they will pose a problem for this organization.

Again, thanks very much to Leew, Harleyjd and TechSoEasy.  You really helped me a lot!

Cheers and I hope you all have a happy holiday season!
- Joe
0
 
LVL 74

Expert Comment

by:Jeffrey Kane - TechSoEasy
ID: 12750871
You're welcome Joe!  Good luck with your project... be sure to check out http://sbslinks.com if you need further SBS info.  It really is a different ideaology.

Jeff @
TechSoEasy
0
 
LVL 97

Expert Comment

by:Lee W, MVP
ID: 12750918
TechSoEasy - since you seem to swear by and presumably know so much about SBS - Might I request you have a look at this question - I've got the same problem - I asked a question on it but no one posted an answer - or comment for that matter.  (Note: the solution I posted does not work for me).

http://www.experts-exchange.com/Operating_Systems/Windows_Server_2003/Q_21210680.html

I'll try whatever you suggest to him and post another question (or see if my original one can be "undeleted") and give you points if you solve it...
0
 
LVL 74

Expert Comment

by:Jeffrey Kane - TechSoEasy
ID: 15067783
As a followup to this long ago conversation, I thought y'all might like to see these two new items from Microsoft:  http://snipurl.com/itpro and http://snipurl.com/debunk

Jeff
TechSoEasy
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

by Batuhan Cetin In this article I will be guiding through the process of removing a failed DC metadata from Active Directory (hereafter, AD) using the ntdsutil tool in a Windows Server 2003 environment. These steps are not necessary in a Win…
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
Loops Section Overview

872 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question