Tuesday, March 27, 2007

Exchange 2007 SP1 Beta around the corner ?

    Microsoft has RTW'ed the Readme file for the Exchange Server 2007 SP1 Beta. There are many changes, but the most interesting (IMHO) are the integration between Office Communicator Server 2007 and Exchange 2007 SP1 and the enhancements to "standalone" UM. Following is a list of changes from the readme file (All changes but not all details) -

    Client Access Features
    Exchange Server 2007 SP1 Beta 1 adds several new features to the already robust set of client access features.
    Outlook Web Access (General)
    Personal distribution lists
    This feature enables Outlook Web Access clients to create new and edit existing personal distribution lists.
    Ability for users to edit server side rules
    This feature enables Outlook Web Access clients to create server side rules.
    The 2007 Microsoft Office system file format converter
    This feature enables Outlook Web Access users to view the most common 2007 Office system file attachments as HTML documents. Converting file formats works for Microsoft Office Word 2007 (.docx), Microsoft Office Excel 2007 (.xslx), and Microsoft Office PowerPoint 2007 (.pptx) file types.
    Deleted item recovery
    This feature enables Outlook Web Access clients to recover items that have been deleted from the Deleted Items folder. Recovered items will be moved back to the user's Deleted Items folder.
    Public folders
    This feature enables Outlook Web Access users to access, post, post a reply to, and search public folders.
    Outlook Web Access (S/MIME)
    Secure/Multipurpose Internet Mail Extensions (S/MIME) is the Exchange Server 2007 SP1 Beta 1 feature that enables Outlook Web Access users to read and compose messages that are digitally signed or encrypted.

    Exchange ActiveSync
    CAS-CAS Proxying

    Exchange Server 2007 SP1 Beta 1 continues to support CAS-CAS proxying for Exchange ActiveSync. The CAS-CAS proxying feature enables you to publish a single, external URL for your Exchange organization. When this feature is used, all Exchange ActiveSync client requests go through the single, external URL and are proxied to the Client Access server that is located in the same Active Directory site as their mailbox. After you install Exchange Server 2007 SP1 Beta 1 on a computer that is running the Client Access server role, a new virtual directory named EAS is created. This new virtual directory was added for future Exchange ActiveSync devices to benefit from the bandwidth optimizations that were added in Exchange 2007 SP1.
    Remote Wipe Confirmation Exchange
    ActiveSync for Exchange 2007 enables administrators and end users to send a remote wipe command to a mobile device. Administrators can issue the command from the Exchange Management Console or the Exchange Management Shell. Users can issue the command from within Outlook Web Access. Exchange 2007 SP1 Beta 1 introduces a remote wipe confirmation for both the user and the administrator.
    Exchange ActiveSync Default Policy
    Exchange 2007 SP1 Beta 1 introduces a default Exchange ActiveSync mailbox policy. Administrators can define a default policy and apply it to all users who do not already have a policy applied. After a default policy is created, any new mailboxes that are created will automatically have the default policy applied.

    Unified Messaging Features
    Unified Messaging has been improved in Exchange Server 2007 SP1 Beta 1. To use most of these features, you must correctly deploy Microsoft Office Communications Server 2007 in your environment. Specifically, to use these features, you must meet the following requirements:

    • You are running Exchange Server 2007 SP1 Beta 1 on all Unified Messaging servers in your organization.
    • You are running Office Communications Server 2007 (Beta 3 Refresh) in your organization.
    • Exchange Server 2007 SP1 Beta 1 and Office Communications Server 2007 are configured correctly.

    The following is a summary of the Unified Messaging features that are available in an integrated Exchange Server 2007 SP1 Beta 1 and Office Communications Server 2007 Public Beta environment:

    Support for additional types of UM dial plans
    To interoperate with Office Communications Server 2007, Exchange 2007 SP1 Beta1 Unified Messaging supports the following additional types of UM dial plans: Sip_Name and E164. You can configure these UM dial plans by using the Exchange Management Shell and also by using the Exchange Management Console. The Exchange Management Console also enables you to create Sip_Name and E164-type UM dial plans by using the New Dial Plan Wizard and to supply Session Initiation Protocol (SIP) Uniform Resource Identifiers (URIs) when you enable users for SIP_Name UM dial plans.
    Additional logic for resolving internal calling numbers
    The scope of internal calling number resolution is significantly increased. The original release version of Exchange 2007 resolves internal extension numbers against only two sources. These sources are the extension numbers for other UM-enabled users in the same UM dial plan as the user who is being called and the contact list of the user who is being called. In addition to these two sources, Unified Messaging in Exchange 2007 SP1 Beta1 resolves internal extension numbers against all users in the Active Directory forest.

    Support for recording high-fidelity voice messages in Exchange Unified Messaging
    Support for high-fidelity sound is added when Exchange 2007 SP1 Beta 1 is used with Office Communications Server 2007. This feature is available when a voice call is initiated by using Office Communicator 2007 and the recipient of the voice call plays the message by using Outlook 2007 or Outlook Web Access 2007. In particular, the following two scenarios support the high-fidelity recording and playback feature: Scenario 1 If a Unified Messaging server answers a call on behalf of a subscriber and either of the following is true:

    • The subscriber's audio codec setting (UMMailbox.CallAnsweringCodec) is set to WMA.
    • The subscriber's codec setting is not set (this is the default setting) and the subscriber's associated UM dial plan audio codec setting (UMDialPlan.AudioCodec) is set to WMA.
    Scenario 2 If a Unified Messaging subscriber, whose associated UM dial plan (UMDialPlan.AudioCodec) property is set to WMA, logs on to Unified Messaging, locates someone in the directory, and leaves them a message.
    Play on Phone calls cannot be automatically forwarded when they are played on Office Communicator 2007
    In the original release version of Exchange 2007, the UM Play on Phone feature enables users to view a voice mail message in Outlook or Outlook Web Access and forward the message to a telephone number of their choice. When Exchange 2007 SP1 Beta 1 is used together with Office Communications Server 2007, Play on Phone calls cannot be forwarded beyond the Office Communicator 2007 client. This change in functionality is beneficial because it ensures that a voice message is not forwarded to anyone other than its intended recipient.
    Outlook Voice Access can be accessed from Office Communicator 2007 without requiring the user to enter a PIN
    If a user is logged on to Office Communicator 2007, the user can access Outlook Voice Access directly by pressing the Call voicemail button in Office Communicator 2007. Because the user is already authenticated to the server that is running Office Communications Server 2007, the user is not prompted to enter their Outlook Voice Access PIN.
    Office Communicator 2007 clients can associate subjects and priorities to voice messages
    When Office Communicator 2007 clients make calls, they can associate a subject and priority with the call. When a call has been associated with a priority or a subject, the Unified Messaging server relays the subject and priority of the call in the e-mail messages it generates for missed call and voice mail notifications. Additionally, if a call is initiated from an e-mail message that the user is reading, Unified Messaging uses the original e-mail subject and priority when generating e-mail messages for the missed call and voice mail notifications.
    Support for media streams to traverse firewalls
    This feature enables Unified Messaging servers to communicate with end points outside an enterprise firewall. The A/V Authentication Service authenticates media traffic as it flows through the Communications Server 2007 Access Edge Server. In this scenario, the Unified Messaging server is associated with an Office Communications Server pool and obtains the appropriate authentication tokens from the Communications Server 2007 Access Edge Server computer that is serving that particular Office Communications Server pool.
    Integration of missed call notification e-mail messages with Office Communicator 2007
    In deployments that include the original release version of Exchange 2007 Unified Messaging and Office Communicator 2005 clients, call notifications are generated independently. For example, if a UM-enabled user who is using Office Communicator misses a call, two missed call notification messages are generated in the user's Inbox (one from Unified Messaging, and one from Office Communicator 2005). When Exchange 2007 SP1 Beta 1 is integrated with Office Communications Server 2007, subscribers using Office Communicator 2007 receive only one, unique missed call notification in their Inbox.

    The following features are available in Exchange Server 2007 SP1 Beta 1
    .. without integrating your Unified Messaging environment with Office Communications Server 2007 (Beta 3 Refresh).
    Secure Realtime Transport Protocol (SRTP) support
    This feature enables SRTP media traffic to flow to and from Exchange Unified Messaging. You can configure this feature by using the Exchange Management Shell or the Exchange Management Console. The secure SRTP configuration settings are located on the UM dial plan object.
    Exchange Management Console support for configuring Transport Layer Security (TLS)
    In Exchange Server 2007 SP1 Beta 1, the Exchange Management Console has been extended to enable you to manage TLS. The TLS configuration settings are located on the UM dial plan object.

    HMC 4.0 information (mostly sales)

    Just stumbled across a set of (sales/business) presentations on the new Hosted Messaging and Collaboration 4.0 solution (We are actively working with customers on this release, but all information is under NDA until the final release in April).

    The Hosted Messaging and Collaboration 4.0 event, held by Microsoft’s UK Software as a Service team, covered the new release of HMC version 4, which is based on the release of Exchange and Sharepoint 2007.

    Download Marketing Best Practices
    Download Hosting Unified Communications
    Download SharePoint Products and Technologies
    Download Launching Your Hosted CRM Business
    Download Partnering With Microsoft
    Download Service Provider Licence Programme Update
    Download Hosted Exchange Sales Toolkit (Nice zip file that includes logos, sales pitches, objection handling etc.)

    You can find a bit more information on the Microsoft Global Hosting Summit 2007 (Held last week) and in the two videos in the press release from the summit -

    Hosted Messaging and Collaboration v4.0 - Announced by David Thompson, Corp. VP, Information Worker Enterprise Group, Microsoft Corp.
    Microsoft Solution for Windows-based Hosting v4.5 - Announced by John Zanni, Director of Worldwide Hosting, Microsoft Corp.

    Personally I think it's a very interesting release, but I look even more forward to the release where Office Communicator Server 2007 is included (Enabling a full Unified Communications experience).

    Monday, March 26, 2007

    Office Communicator Server 2007 and Speech Server 2007 Public Beta RTW'ed

    As expected the OCS 2007 public beta is now released to the web. The release date says March 23rd, I received the download notification on the 24rd though (Might be a timezone thing ;-))

    You can find the downloads here -

    Personally I can't wait to get my hands on this release, which is the first stage in a series of releases for TAP customers and partners.

    Friday, March 23, 2007

    Problems synchronizing Windows Media files to Storage Card on WM5 ?

    Out of topic perhaps, but not less important ;-)

    If you are using Windows Vista and Windows Mobile Device center and wants to sync your media files to a storage card on a Windows Mobile 5 based phone, then you might experience this problem -

    You try to synchronize content from Microsoft Windows Media Player 11 to a Microsoft Windows Mobile 5-based device with AKU 2.3 or a later AKU. When you do this, the phone connects. However, only the internal storage on the phone is available in Windows Media Player as a synchronization target.

    Find the fix in in KB 931621 called "FIX: Only the external storage is available when you synchronize content from Windows Media Player 11 to a Windows Mobile 5-based device with AKU 2.3 or a later AKU".

    Stupid me used almost an hour trying to fix the problem and found the answer within 5 minutes on Google ;-)

    Wednesday, March 21, 2007

    Public Beta for OCS set launch March 26th

    I just received an e-mail stating that the private beta will be closing as of April 6th and that the Private Beta for Office Communications Server 2007 is set to launch March 26th.

    You can pre-register for the private beta here

    Digging old knowledge out of the head

    Stupid me!

    I used to end my emails with this quote -

    There is only one thing more painful than learning from experience and that is not learning from experience.

    -- Archibald McLeish (1892–1982), American poet

    I just learned it the painful way. I had the experience, but it was burried too deep.

    I was happily deploying software to our servers with SMS. I normally just push things out, but this time I wanted to install the program manually the first couple of times as it was Windows Server 2003 SP2. Well, I jumped in Add/Remove Programs, clicked Add New Programs and - nothing!

    Strange!

    I gave policyspy a go. Everything looked fine. I checked eventlog, status messages in SMS etc. Everything looked fine.

    But on a few of my servers I could in fact see the expected advertisements.

    Then I (finally) realized: If you connect to a computer with Remote Desktop and not to the console of that computer, SMS has a nasty bug and is not able to show advertisements in ARP or interact with the desktop.

    Stupid bug. And stupid me for forgetting it.

    Sunday, March 18, 2007

    Updated Office Communicator 2005 hotfix package

    Microsoft has released a new hotfix package KB 92900 described in "Description of the Communicator 2005 hotfix package: February 16, 2007". .

    Based on the files replaced, the build numbers and the issues fixed its a cumulative update and therefore, as seen before, replaces the October 19, 2006 hotfix package dubbed KB 926404 and all the earlier updates.

    Interestingly it fixes an "issue" I have seen at a customer where the custom help link wouldn't launch unless it was part of Trusted Sites zone in Internet Explorer (Which can be/is an issue in global deployments of LCS, where clients aren't centrally managed).

    New fixes are -
    • A custom help option that uses a fully qualified domain name does not work in Communicator 2005
    • An access violation error may occur when you try to exit Communicator 2005

    And the old fixes still included are -

    • Error message when you try to use Communicator 2005 to log on to Live Communications Server
    • Communicator 2005 does not start on a Windows 2000-based computer
    • Communicator 2005 contact list may incorrectly list a contact as "Status unknown"
    • Your telephone calls are not forwarded after you sign in to Communicator 2005
    • Some of the audio control buttons are missing when you resize the Conversation dialog box to its minimum size in Communicator 2005
    • A contact cannot be found in Communicator 2005
    • A short delay is experienced before music or a voice message is heard in Communicator 2005
    • Advanced VoIP calling features are unavailable in Office Communicator 2005
    • The status indicator may incorrectly display the Away status for your presence status in Communicator 2005
    • Communicator 2005 may quit unexpectedly when it tries to retrieve the free/busy information from an Outlook calendar
    • You can use a copy-and-paste operation to transfer the contents of a file when a policy that disables file transfers is applied to a computer that is running Communicator 2005
    • Internet Explorer unexpectedly closes when you refresh a Web page
      A telephone number may contain a clock icon instead of the number zero in Communicator 2005
    • Error message when you try to shut down Windows: "End Program-WMS Idle"
    • You experience poor video quality in Communicator 2005 running through a multipoint control unit
    • Communicator 2005 responds to invitations to conversations with a "Busy" reply

    More details on Office Communicator Server 2007

    It's hardly groundbreaking news that Microsoft is entering the VoIP market, the real news is that Microsoft is disclosing more and more details publicly (I'm member of the private beta for Office Communicator Server 2007, but all the information we get is covered under NDA).

    Microsoft's own bold vision is that 100 Million users in 3 years timeframe will have access to VoIP through Microsoft Office applications and that it will cost approx. half of what VoIP implementations do today.

    More on that subject later in this posting, first there is some interesting information on Shell's planned deployment of Office Communicator Server 2007 from an article in NetworkWorld called "VoiceCon: Shell bets big on Microsoft for global VoIP plans" following are some snippets from the article –

    Oil giant Royal Dutch Shell is planning a global VoIP rollout with tens of thousands of IP phones that will ultimately run off of a mostly Microsoft-based server platform.

    According to the article Shell is already using Live Communications Server 2005 and around 1.000 IP Phones hosted by Nortel IP PBX and with OCS 2007 it is planning to do a phased migration to a full-scale OCS deployment. From the start the dialplan will be based on Active Directory and Shell will have a mixture of IP hardphones from Nortel that are hosted by Nortel CS1000’s and Office Communicator softphones hosted by OCS 2007. If this is successful the next phase will be to move hundredsof disparate PBX systems to Nortel and OCS and eventually have all phones managed by the OCS environment. In the end Nortel VoIP gateway equipment, based in three datacenters, will only be used for PSTN breakout.

    On the reliability issue, Shell says that it is already relying heavily on Microsoft for e-mail and IM, and states that “For many people, these technologies are as important as voice, if not more important,".

    The entire Network World article is certainly worth a read if you're interested in a customer's view on OCS. I especially like the comment about duplicate user directories and how customers prefer to have one identity and one logon for all of their communication needs (Be it e-mail, collaboration in SharePoint, audio/video/webconferencing, IM or telephony). This is line with what I talk with my customers about, professional Instant Messaging is very valuable to businesses; but they see the convergence of technologies as even more valuable.

    Back to the press release from Microsoft based on a keynote by Jeff Raikes (president of Microsoft Corp.'s Business Division) at VoiceCon. Microsofts approach is of course PC and software centric and this is how it believes that large savings on VoIP implementations will be accomplished. Microsoft states that 40-45 % of the costs of VoIP deployments are used for buying "branded IP handsets". Also it, as Shell does, sees it as "both and" scenario were OCS is deployed together with existing PBX equipment and that it will be a gradual transition towards full scale OCS deployments (The press release from Microsoft is also accompanied by a short video with Jeff Raikes).

    One concern for many customers is of course voice quality and it is stated that –

    The listening and call quality offered by a pre-release version of Office Communications Server 2007 was "considerably better than that provided by [a leading provider's] IP phones and CallManager" according to an independent benchmark study conducted by Psytechnics, a firm specializing in voice-quality research.

    Furthermore, in the Psythechnics report it is concluded that -
    Users have been cautious about PC desktop telephony, but our tests show that concerns about speech quality have now been addressed by software, " said Mike Hollier, CTO at Psytechnics. "This evaluation emphasizes the positive transformation that software-based VoIP solutions will have on unified communications and telephony in the future. The familiar PC can now outperform the IP phone."

    So what does all this mean for Microsoft’s UC partners and competition? Well for one Microsoft is now very open about the fact that it will partner with all the traditional PBX and IP PBX vendors, but IMO it is certainly not hiding that in the VoIP and Unified Communications area it has a strategy of eventually “ruling the world”.

    As a follow-up to the introduction at VoiceCon, Network World Senior Editor Phil Hochmuth interviewed Gurdeep Singh Pall, corporate vice president, of Microsoft's Unified Communications Group and he had some interesting comments on how Microsoft sees the competition that I have taken the liberty to quote here –

    … We see a lot of folks going down these one-way streets [with PBX and IP telephony vendors]. They might find themselves in a situation where they've deployed a solution, and because it is not an open solution, it is slow in terms of innovation.

    Are you talking IP PBX products from companies such as Avaya, Cisco, Nortel, and so forth?
    Yes. These are closed systems. They're just like mainframes. Once you bought the computer or IP PBX in this case, you pretty much every component you buy from that vendor. They'll tell you about openness, and say "you can buy any SIP phone, sure," but when you call product support, they'll tell you, "sorry, if you're not using their phone, we can't guarantee the voice experience." It sort of builds on the fear that voiced cannot be delivered in an open platform.


    Many of IP PBX vendors at VoiceCon are calling Microsoft a partner. Is OCS a complementary product, or a competitive product for these companies?
    [There are] Enterprises which have a TDM PBX today and are looking to move to an IP solution. Then you have some enterprises which have some TDM PBXs and some IP PBX and their goal is to replace all of their TDM PBXs with IP PBXs. What we are telling both groups of users is that we believe, over time, you can be totally based on Office Communications Server. For now, we also want to help customers deal with missing features they may not have, or to help along those who are saying, 'oh, can I trust my voice entirely to Microsoft.' They can keep their current system in place, and put Office Communicator next to it, and slowly phase out the old one.


    In addition, there is some good news for Telco's/Service Providers/Hosters offering Microsoft hosting based solutions in the interview. Gurdeep says that is not planning on making a distinct carrier based version of OCS for telcos, but it is focused on making OCS available on a hosted platform.

    These products are getting rather large and complex, especially if a company wants to utilize all the features of Exchange 2007 and OCS 2007, and as this as creating a even larger market for hosting companies (and not only for the smaller companies as until now). Furthermore, for companies with current VoIP and PSTN offerings there are some interesting scenarios in offering PSTN break-out capabilities as part of the OCS offering.

    In general I'm impressed with Microsoft vision for Unified Communications; it might not deliver everything all companies want in the first wave of products, but this may be accomplished utilizing a mixed environment like Shell plans to do. The quality of the latest Beta 3 release of Microsoft Office Communicator Server is also looking good and I like the way it integrates to Exchange Unified Messaging for voicemails and also the accompanying gadgets that Microsoft are delivering (or helping others to deliver) looks promising. A simple thing as the USB headsets and the Wireless Earbuds is a big step forward not only in voice quality, but also in user experience, because OC intelligently select the right device for the job instead of going through an audio/video configuration wizard (Just choosing the right microphone is often a problem for users, when there are several different to choose from e.g. from the webcam or the built-in microphone).

    Also, when I speak with Microsoft employees and TAP customers that have switched entirely to Office Communicator 2007 as a softphone, the message is that the quality and user experience is indeed very good and "We are never going to switch back to a standard phone".

    Interested? The public beta is just around the corner, so go sign-up to be notified about the public release at the TechNet Beta Central.

    Thursday, March 15, 2007

    Exchange 2007 mailbox migration methods

    I was looking for references on how to migrate mailboxes CrossOrg in Exchange 2007 and found these interesting articles (All from the primary source of Exchange info You Had me At EHLO)

    Exchange 2007 migration overview
    The process of migrating mailbox content between Exchange servers has been greatly improved for Exchange 2007. Differently than previous versions, our tools are now part of the server code and are therefore more integrated and functional (Covers Intra Org moves).

    Exchange Server 2007 Export Mailbox task
    Export-Mailbox is a task developed by the migration team to allow Administrators to export content from active mailboxes to a folder inside other active mailboxes. The initial idea for this task was to be a complete replacement for ExMerge. The implementation of some of this functionality was problematic and it required more time than initially planned. In this post I will describe what we are missing, which workarounds are available, and some of our future plans. (Contains all the excuses as to why PST export/import isn't supported until SP1).

    Exchange 5.5 to Exchange 2007 mailbox migration
    Migrating mailboxes from Exchange 5.5 to Exchange Server 2007 directly is not supported. Using native tools, administrators will have to perform this kind of migration as a two-step process which includes:
    1. Migrating from Exchange 5.5 to Exchange 2003
    2. Migrating from Exchange 2003 to Exchange 2007

    Exchange 2007 Cross Org Mailbox Migration
    Cross Org migrations are the ones where a mailbox needs to be moved from one Exchange Organization to another. Since there can only be one Exchange Organization per Forest, that means moving the mailbox between two different Forests.
    Exchange Migration Wizard was used to perform this task in Exchange 2003. Exchange 2007 has incorporated Cross Org migrations into the server code base, so now Administrators can perform these moves by using the same task used for Intra Org migrations: Move-mailbox.

    Happy reading ;-)

    Tuesday, March 13, 2007

    Windows Server 2003 SP2 released

    As awaited SP2 was released this week. There are (luckily) no kernel changes in SP2 so the upgrade path should be much smoother than SP1.

    News are replacing RIS with WDS, WPA2 support, icacls an updated version of Cacls that correctly propagates inherited ACLs (hmmm sounds like a song we've heard before) etc. For a more comprehensive list of new functionality look here.

    SP2 for x86
    SP2 for x64 (Also used for Windows XP x64 edition)
    SP2 for Itanic

    WBH 4.5 and WBH for Applications 1.5 released

    Just a quick note (I have more posts on the way in the following weeks, but I've just come back from almost 3 weeks of "downtime" so my backlog is huge)

    As announced earlier WBH 4.5 and WBH for Applications 1.5 was in beta, but they are now released. You can find further info on what's new in the earlier post.

    The Microsoft Solution for Windows-based Hosting version 4.5

    The Microsoft Solution for Windows-based Hosting for Applications version 1.5

    Wednesday, March 07, 2007

    Windows Server 2003 RTM - End of Support

    The 'gold', non-SP, RTM version of Windows Server 2003 is not supported after April 10th 2007. This was a surprise to me, so maybe it is that to you as well.

    You can see all the support dates at Lifecycle Supported Service Packs, server products here and Windows (client and server) here.

    Monday, March 05, 2007

    Wildcard certificates are not supported in LCS 2005 SP1

    Just a quick note - I've seen problems with wildcard certificates that have been used in LCS implementations and just received a comment on this and the documentation from Microsoft is very sparse on the subject.

    Wildcard certificates are not supported in LCS, you may get it to work in a simple scenario, but in general it means trouble and it is unsupported.

    The only written documentation on this can be found on page 17 in the presentation "How to plan for and deploy certificates in Live Communications Server 2005 SP1" by Shawn Mahan here.

    Thursday, February 15, 2007

    Exchange 2007 SP1 info - updated

    Update - The MS Exchange Team blog has also published info on SP1. The timeline is still around Longhorn Server release. You can find the info here.

    Jim McBee has found some info on what will be part of Service Pack 1 -

    • S/MIME controls for Outlook Web Access
    • Personal distribution lists via OWA
    • Outlook Web Access monthly calendar view
    • Custom fields visible in the OWA address book
    • Rules wizard for OWA
    • Move-Mailbox cmdlet will import/export from a PST file!
    • Bulk mailbox operations (I'm assuming this means creation)
    • Public folder management from GUI
    • POP3/IMAP4 configuration management from GUI
    • IPv6 support
    • Support for Longhorn server
    • Standby continuous replication (SCR)
    • Log shipping on private networks
    • Information Rights Management (WRMS integration was pulled from E2K7 right before RTM)
    • Improvements in geographic CCR clusters
    • Improved VOIP security

    The timeline for the release is after the Longhorn Server release

    (So we will have to wait for this and the Viridian release before we can virtualize Exchange 2007). Read more at Jim's post.

    PowerShell, creating statistics


    # Creating statistics in PowerShell is very easy. There is no need to
    # create several variables, it can all be combined into one!

    # This is how it can be done


    # Create hash-table a.k.a. associative array
    # Note that you do not have to define the members before using them
    $stats=@{}

    # do something, here the distribution of random numbers are
    # used as an example, but in the real world it could be the
    # number of objects processed, number of updates succeeded
    # and number of failed operations

    $random=new-object system.random

    1..1000 | % {
    $n=$random.next(0,10)
    switch ($n) {
    # Increase the counters
    0 { $stats.zeroes+=1; break }
    1 { $stats.ones+=1; break }
    2 { $stats.twos+=1; break }
    default { $stats.others+=1 }
    }
    }

    # report the results
    $stats

    # Output
    Name Value
    ---- -----
    twos 93
    zeroes 108
    ones 104
    others 695



    # this is almost too easy...

    # Hint: If you want pretty-formatted names, use $stats."Pretty Name"+=1



    Updated with missing vertical bar in code (it is hard getting pasted code to work)

    Wednesday, February 14, 2007

    LCS 2005 MOC course 7034A available for free

    I'm in Seattle for the Office Communicator Server 2007 Airlift and was asked about courses for LCS 2005.
    The following is actually old news, but I thought I had blogged about it earlier. The Microsoft Official Curriculum (MOC) course 7034A called "Implementing Microsoft Office Live Communications Server 2005 (SP1)" is available for free download (Everything except the VHD files) from here.

    PowerShell, write-verbose word wraps

    I think this is an error: Write-Verbose word wraps the output based on the window width.

    Try to execute the last statement with different window widths (just drag the right border of the window) to see what I mean -

    $VerbosePreference="continue"
    write-verbose $($s="";for($i=1;$i -lt 10;$i+=1) {$s+=([string] $i * 9) + " "};$s*5)



    Well, I could live with that if that was just the case interactivily, but no -
    nope - nix - it also applies to a scheduled task - and which window is it then
    taking the width from? Needless to say, having word-wrapped you verbose output makes it very hard to read.

    Looking for word-arounds, I first tried this -

    $host.ui.rawui.WindowSize.width=10000


    but that assignment was just ignored. Then I tried this approach -

    $current=$host.ui.rawui.WindowSize
    $current.width=10000
    $host.ui.rawui.WindowSize=$current


    and got -

    Exception setting "WindowSize": "Window cannot be wider than the screen buffer.
    Parameter name: value.Width
    Actual value was 10000."
    At line:1 char:16
    + $host.ui.rawui.W <<<< indowsize="$current"


    Well, the obvious approach is then to -

    $current=$host.ui.rawui.BufferSize
    $current.width=10000
    $host.ui.rawui.BufferSize=$current
    $current=$host.ui.rawui.WindowSize
    $current.width=10000
    $host.ui.rawui.WindowSize=$current


    but no -


    Exception setting "WindowSize": "Window cannot be wider than 200.
    Parameter name: value.Width
    Actual value was 10000."
    At line:1 char:16
    + $host.ui.rawui.W <<<< indowsize="$current"


    It seems to be limited by the values in $host.ui.rawui.MaxWindowSize or
    $host.ui.rawui.MaxPhysicalWindowSize (BTW: to see the value of these, pipe
    them into format-list). Then I realized, that the windows size is controlled
    by the font and made some tests with that. So maybe, I could just create some
    customized settings and in this way improve the situation? First, I figured out
    the actual window title by logging $host.ui.rawui.windowTitle. Next, I started
    my own console with that title -

    cmd /c start "the wanted title" powershell


    adjusted the window properties and that worked.

    Next, I started to look at a scripted approach. First, I did not want to have to do this manually on some server and second, hey - this is scripting, right? - no such thing as a manual procedure please!

    The scripted work-around (to cut a long story short)

    When a scheduled task is running, an invinsible command line window is created.
    And the settings come from the default window settings in HKCU:\Console. So could
    I influence the settings but creating a subkey with the necessary properties.
    This is quite simple to do from PowerShell, but I ran into another problem.
    Set-ItemProperty only seems to support write string properties (e.g. registry
    values), so I had to make a small dword-function as well.
    Finally, I had to cope with the different titles as the values vary from XP/2003 to Vista.

    Here is the resulting example -

    function Set-RegistryValue($Key,$Name,$Value,$type=[Microsoft.win32.registryvaluekind]::DWord) {
    $parent=split-path $key -parent
    $parent=get-item $parent
    $key=get-item $key
    $keyh=$parent.opensubkey($key.name.split("\")[-1],$true)
    $keyh.setvalue($name,$value,$type)
    $keyh.close()
    }
    function Set-OutputBuffer($width=10000) {
    $key=""
    if ($host.ui.rawui.WindowTitle -eq "taskeng.exe") {
    $key="hkcu:\console\taskeng.exe"
    }
    elseif ($host.ui.rawui.WindowTitle -eq "$($env:windir)\system32\svchost.exe" ) {
    $key="hkcu:\console\%SystemRoot%_system32_svchost.exe"
    }
    # other titles are ignored
    if ($key) {
    $taskeng=$key
    if (!(test-path $taskeng)) {md $taskeng -verbose}
    set-RegistryValue $taskeng FontSize 0x00050000
    set-RegistryValue $taskeng ScreenBufferSize 0x02000200
    set-RegistryValue $taskeng WindowSize 0x00200200
    set-RegistryValue $taskeng FontFamily 0x00000036
    set-RegistryValue $taskeng FontWeight 0x00000190
    set-ItemProperty $taskeng FaceName "Lucida Console"

    $bufferSize=$host.ui.rawui.bufferSize
    $bufferSize.width=$width
    $host.ui.rawui.BufferSize=$BufferSize
    $maxSize=$host.ui.rawui.MaxWindowSize
    $windowSize=$host.ui.rawui.WindowSize
    $windowSize.width=$maxSize.width
    $host.ui.rawui.WindowSize=$windowSize
    }

    }


    $verbosepreference="continue"
    Set-OutputBUffer

    # test code

    $host.ui.rawui
    write-verbose "$(get-date)"
    write-verbose $($s="";for($i=1;$i -lt 10;$i+=1) {$s+=([string] $i * 9) + " "};$s*5)



    The first time a scripts runs - for that user account - the window have not been
    adjusted. The next time, everything is fine. I can live with that. There is still
    a limit to the line length before it gets wrapped, but I haven't figured out
    how those values gets calculated. On my Vista with a resolution of 1920, the
    max length is 341, on my XP with 1400, the max length is 466! Changing the
    screen resolution does not seem to affect the value.

    PowerShell multi-line comments

    Well, as you may know, there is no such thing. You can only comment to the end of line. But there are two work-arounds.

    The first is if you simply want to uncomment some code-lines. In this case, you can surround them with an if-statement like
    if ($false) {
    disabled-command
    }
    This can be useful when developing.

    This first approach has that advantage - or disadvantage - that the disabled code must be syntactically correct.

    The seconds approach, utilizes the multi-line contant construction of PowerShell. Simply surround the lines with @' and '@ -
    @'
    whatever
    '@ > $null

    whatever can be anything except that the line must not start with '@. $null is used to write the string into the big bit void. So this approach is good for writing comments.

    Do not use @" and "@. The string between will be parsed and variables will be replaced.

    I know that you can simply use the uncomment function from a decent code editor. But often, notepad is all you have.

    PS: The @' '@ construct is also very useful, if you want to embed other things like XML-code in you script. Here is a small example -

    $xml=[xml] @'
    <root>
    <child>value</child>
    </root>
    '@
    $xml.root.child

    Monday, February 12, 2007

    Are you still using LM hashes?

    Maybe, now is a good time to stop doing so!

    Just read Robert Hersing's entry to know why.

    Here is how you get rid of the LM hashses: KB 299656 How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local SAM databases. I recommend method 1.

    Friday, February 09, 2007

    Microsoft GM Scopes Out New Tools For Unified Communications Push

    Interesting article from CRN -

    The brave new world of unified communications will spur demand for new tools. And programming a system that combines PBX functionality, voice and data communication -- in real time and asynchronous -- is no small feat....

    ...When people think of platform, they focus on the APIs. While that's the center of gravity, thinking broadly, there must be a focus on things like tools, manageability and deployability, [which is] especially important in this space to all personas: the developer, the IT pro and the end customer," Debique told CRN. "This is a space where it's really important to make sure the connection between the application, the administration and the deployment of the application is very strong.

    (Sadly details isn't publicly available until PDC in October 2007)

    Microsoft's Virtualization Offerings Suck

    I just stumbled across Robert McLaws post Microsoft's Virtualization Offerings Suck and I do agree with a few of the points he is making (GUI and 64 bit guest support mainly).

    We've been sticking with Virtual Server for some time and the main reason for that has been PSS supportability and licensing (Actually we have both VMWare and Virtual Server in our environment). But now we want to setup Exchange 2007 in "real" production environment and has bought a beefy server for that (Quad-core, 64 bit, 8 GB, six 15.000 RPM spindles in RAID 10).
    Furthermore, as we wan't to mirror our enterprise customers environments I was planning on using Virtual Server to create and separate all the possible Exchange Server 2007 roles on a single server.

    I've been running the 64 bit version of Virtual Server 2005 SP1 (Beta 2) for a while on my demo machine, but only with 32 bit guests due to the products I'm testing (Primarily LCS 2005 and Exchange 2007 32 bit). I thought that 64 bit guest support would be part of the final SP1 package (never bothered to check 'cause it was "a given"). But I just discovered that its first planned to be released as part of the Windows Server Virtualization (a.k.a. Viridian) offering that is due 90 days after Longhorn release and then only on the Longhorn platform :-(

    So I guess we will ditch the support and go with VMWare Server for this server (I guess I for a while will have a hard time to handle customers complaints regarding how they think Microsoft supports "legacy" systems and how the products always seems to be much better/working as they should .. in the "next version").

    Tuesday, February 06, 2007

    SCOM 2007 Services Provider Management Pack

    Interesting (For many of my customers anyway) ...

    ... this Management Pack lets you "manage" a downstream System Center Essentials environment at a customer site from an upstream Operations Manager 2007 environment at a NOC. This solution is being developed for Managed Services Providers who want to deliver their customers a "hosted" monitoring offering.

    Read more at source

    Sunday, February 04, 2007

    Nortel and Microsoft announcement on VoIP and UC

    Microsoft and Nortel has announced a joint roadmap for Voice over IP and Unified Communications and it indeed looks very interesting. Here's a short summary -

    UC Integrated Branch. This new product from the alliance will incorporate Nortel and Microsoft® technology on a single piece of hardware that delivers cost-effective, high-quality and easy-to-deploy VoIP and unified communications in remote offices. The UC Integrated Branch is planned to be available in the fourth quarter of 2007.

    Unified Messaging. To simplify customer deployments, native session initiation protocol (SIP) interoperability between the Nortel Communication Server 1000 and Microsoft Exchange Server 2007 Unified Messaging is planned to be available in the second quarter of 2007. The solution includes Nortel professional services for design, deployment and support.

    Conferencing. This new solution will extend the rich feature set of Nortel Multimedia Conferencing to Microsoft Office Communicator 2007, delivering a single, familiar client experience consistent across applications such as voice, instant messaging, presence, and audio- and videoconferencing. The on-premise solution is planned to be available in the fourth quarter of 2007.

    In 2007, the companies also plan to extend their current unified communications solution — a unified desktop and soft phone for VoIP, e-mail, instant messaging and presence — to the Nortel Communication Server 2100, a carrier-grade enterprise telephony product supporting up to 200,000 users on a single system. "

    You can read the full transcript and see the webcast here.

    Saturday, February 03, 2007

    WMI Diagnostics v2.0

    If you experience WMI problems (like I currently do - put operations to WMI combined with Live Communications Server 2005 fails - but not always), give the WMI Diagnosis Utility v2.0 go try. Get it here.

    Friday, February 02, 2007

    Exchange 2007 Language Support

    Just found a good overview of supported Exchange 2007 languages -

    Microsoft Exchange Server 2007 has more language support for its components and features than in any earlier versions of Microsoft Exchange. This topic gives you information about the specific languages that are supported for each feature and component in Exchange 2007.

    Thursday, February 01, 2007

    Ajax 1.0 released

    If you are into ASP.NET web pages and want to avoid those annoying full page repaints the good news is that Ajax (formerly known as Altas) has been released.

    Wednesday, January 31, 2007

    PowerShell for Vista and why I discovered that two days delayed - or: How to rebuild the pim.vol file

    I normally update all my RSS feeds on my Vista PC. The feeds are stored in Outlook 2007, replicated to our Exchange server and finally synchronized to my Qtek 8310 SmartPhone. I normally check the feeds first on my phone, so short ones or uninteresting entries can be deleted when I have a few minutes to spare.

    But today, I browsed the feeds from my PC and I realized, that synchronization to my phone must be broken. I read that PowerShell - finally and long waited - was RTW for Vista (get x86 version here). BTW: I just love that the file name starts with Windows6.0 - :)

    So over to the phone. Synchronization would not even start!! I could start it from within the inbox, but got an error. Last time I got a similar error, I unsynched my email and resynched again, but this time that was insufficient. I also asked a question about freeing up or moving the PIM.VOL file but did not get any feedback.
    Well, I tried to unsynchronize everything - but it still behaved weird on the resync, so I decided to jump out into it - I renamed the PIM.VOL file to PIM.OLD, restated the phone and voila, I got a brand new PIM.VOL. I deleted PIM.OLD, setup synch and everything worked. And my PIM.VOL file is now 'only' 1.5MB compared to the old 2.1MB. This leaves 1.69MB free on the phone. So nice to always have a backup of the important data on the Exchange server.

    So, let's get PowerShell on Vista and maybe my XP laptop will gather more dust now...

    Microsoft Hosting Days

    Microsoft are once again at a "World" tour (Except for Denmark and Iceland where I'm currently delivering four HMC Architectural Design Sessions). It's called Microsoft Hosting Days and the agenda is primarily around Software-as-a-Service (SaaS) and the new capabilities in upcoming versions of WBH/HMC -

    .. learn how to capitalize on the growing demand for Software-as-a-Service (SaaS). This multi-track seminar will give you the knowledge and tools you need to expand your business whether you are a pure Hoster, Telco, Independent Software Vendor (ISV), Reseller (VAR), or System Integrator.
    • The latest news about the growing opportunities for SaaS on Windows technology.
    • A wide range of business opportunities available with Microsoft Hosting solutions, including Windows-based Hosting for Applications, Hosted Messaging and Collaboration, and Hosted CRM.
    • Aligning your business with Microsoft’s product roadmap – so you can maximize benefits from the planned testing, release and availability of Microsoft products and services, especially with SharePoint 3.0 and IIIS 7.0.
    • Using best practices to sell SaaS offers or business-class e-mail to small and medium-sized businesses.

    Description of the different hosting solutions from Microsft

    FYI - here's a short description of the current offerings from Microsoft -

    Windows-based Hosting
    The Microsoft Solution for Windows-based Hosting version 4.0 provides a highly efficient operating platform for service providers of all sizes. The solution includes tools and partner applications that Web hosters can take advantage of to develop and deploy in-demand customer site features such as blogs, forums, and photo galleries.

    Hosted Messaging and Collaboration
    The Microsoft Solution for Hosted Messaging and Collaboration version 3.5 enables service providers to host enterprise level e-mail and collaboration services for small and medium-sized businesses. Service providers can deploy value-added services such as team site hosting, instant messaging, and hosted mobile messaging for mobile device users - along with Exchange-based mail services.

    Windows-based Hosting for Applications
    The Microsoft Solution for Windows-based Hosting for Applications version 1.0 takes advantage of the Windows infrastructure and operations platform to enable ISV application hosting. This solution is focused on helping ISVs expand revenues and markets by taking their on-premise applications online as a hosted service.

    Hosted Microsoft Dynamics CRM 3.0 Solution
    The Hosted Microsoft Dynamics CRM 3.0 Solution is a Windows-based solution that enables service providers to capitalize on the growing business demand for customer relationship management (CRM) services. This solution enables service providers to host the Microsoft Dynamics CRM 3.0 application - a full-featured CRM product that is beyond the abilities and resources of many smaller businesses to deploy and operate.

    Source - Windows Based Hosting 4.5 beta documentation.

    WBH for Applications 1.5 and WBH 4.5 Beta

    Microsoft has released the beta documentation for both of the following products that are currently under development.

    Windows Based Hosting for Applications 1.5 is for ISV's that want's to enable their solutions for Hosting (Download).

    Windows Based Hosting 4.5 (Download) contains the following updates to WBH 4.0

    Windows Server 2003 R2
    The infrastructure components of the solution now run on Windows Server 2003 R2, which extends the Windows Server 2003 operating system in important ways. Web platform features include support for .NET framework 2.0 and ASP.NET 2.0 applications as well as 64-bit support for Internet Information Services (IIS) 6.0.
    A new licensing model that allows customers to get more value out of server virtualization.

    SQL Server 2005
    The solution incorporates fundamental advancements in database technology and security with SQL Server 2005. When compared with SQL Server 2000, the latest version of the comprehensive database platform of the solution provides:New features to easily support service offerings differentiated by additional capabilities rather than just database size and quantity.Support for 64-bit platforms so service providers can scale servers to any client's needs.

    SQL Server Hosting Toolkit
    This tool enables hosters to more easily deploy SQL Server databases for customers.

    ASP.NET 2.0 support
    ASP.NET 2.0 encapsulates common Web tasks into application services and controls that you can easily reuse across Web sites. With these basic building blocks, ASP.NET 2.0 allows developers to write up to 70 percent less code for faster development of rich Web sites and applications.

    ASP.NET AJAX framework support
    Hosters can now offer developers a richer environment on which to build interaction-rich, cross-browser Web applications.

    Support for 64-bit computing
    As the majority of new server shipments today contain 64-bit processing power, the solution has also moved forward with 64-bit computing support. The solution has been tested with and supports 64-bit versions of Windows Server 2003 R2 and SQL Server 2005.

    Support for Windows SharePoint Service version 3.0
    This version introduces improved administrative tools including a server farm-based Central Administration user interface. Also new in this release are the availability of 40 new application templates which hosters can use to enhance service offerings for small to medium business customers.

    Source - Windows Based Hosting 4.5 beta documentation.

    Saturday, January 27, 2007

    Robocopy replaces Xcopy in Vista

    Just noticed the following in Xcopy, when I was moving some files to my USB drive .

    C:\Users\dlt>xcopy /?
    Copies files and directory trees.

    NOTE: Xcopy is now deprecated, please use Robocopy.

    I've been using Robocopy for years and years - and it's a powerful tool for synchronization, migration, backup and much more so it's about time it get's its credit worth ;-)

    Friday, January 26, 2007

    Public Certificates supporting SAN's for LCS and Exchange 2007 - update #2

    I promised earlier in Using LCS 2005 with multiple domains that I would get back to you with a list of Commercial Certification Authorities that supports Subject Alternate/Alternative Names (a.k.a SAN or SubjectAltNames). These types of certificates are required for making autoconfiguration of Office Communicator work in Enterprise deployments of LCS (Using DNS and SRV records). For more info on autoconfiguration look at Shawn Mahans webcast and the article mentioned in the start. SAN's are also required for supporting Autodiscovery in Exchange 2007 (e.g. one certificate serving both mail.inceptio.dk and autodiscovery.inceptio.dk). Find a bit more information on this subject on the Exchange Ninjas Wiki.

    These are my findings -

    Verisign - VeriSign has a MPKI (Managed PKI) SSL offering, that includes the ability to issue certificates with multiple domain names. Its part of their Enterprise offering though, so you will need to contact their sales for help on getting an enterprise account before being able to order it.

    GlobalSign - When I checked last week "... yet to be launched; expected timescale is 4-6 weeks." when I checked in September 2006 it was "... in the pipeline for the coming months".

    Entrust - Has a "Entrust Unified Communications Certificates (UCC)" for Exchange Server 2007 and Live Communications Server that can be ordered directly from their website (Source).

    Geotrust - Has a "Power Server ID" supporting up to four server names (That is three in SAN's, which in LCS means three in total). Find it here.

    If you know other than the above please let me know and I will update the post.

    LCS and Windows Server 2003 R2 known issue #2

    FYI - As I wrote in a posting earlier there is a known issue with MMC 3.0 in R2 and Live Communications server 2005.

    I just discovered that Microsoft has created a KB article on the problem/solution called "A blank Live Communications Server 2005 MMC snap-in appears when you start the Live Communications Server 2005 administration tool" - you can find it here.

    Wednesday, January 24, 2007

    OCS 2007 Videos

    Microsoft has created two promotional Office Communicator Server 2007 videos, that are now available for public download.

    There are two videos on Office Communications Server 2007 and on Office RoundTable.
    The videos center on use of the technologies by the staff of a fashion magazine.

    The videos are pretty funny and shows both Office Communicator and the new version of LiveMeeting in use. Find them here.

    Tuesday, January 23, 2007

    PowerShell output strangeness

    When I run batch jobs, I normally use a stub (here simplified) like this –

    Set name=%~n0
    Set log=%temp%\%name%.log
    Set recursive=%1
    If not defined recursive %0 yes >”%log%” 2>&1
    The-command-you-want-to-run


    In this way, I can ensure that I capture all output, including stderr (stream #2) in stdout (stream #1).

    So I adapted the same approach with PowerShell – and got into problems. Actually, at first, I thought that I had made a work-around and would simply stick to that, but as it resurfaced, I decided to narrow it down and find the real problem.

    The problem appears like this error message –

    The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.
    out-lineoutput : The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.



    So how do I generate this message? Simply run this script with the above batch wrapper –

    "start"
    copy-item fds fdsaf
    "end"


    The abstract from the log generated is -

    C:\>powershell -command .\x.ps1
    start
    Copy-Item : Cannot find path 'C:\Documents and Settings\Administrator\fds' because it does not exist.
    At C:\Documents and Settings\Administrator\x.ps1:2 char:10
    + copy-item <<<<
    out-lineoutput : The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.



    Note, that removing the start and/or the end line, makes the error *not* appear.

    So, how should this wrapper work with PowerShell? Well, from what I can figure out, PowerShell never writes to stderr, so everything can be captured by redirection stdout with >. Even output from write-host get captured.

    But, anyway - this seems a minor bug in PowerShell.

    Monday, January 22, 2007

    Office Communicator Mobile and Certificate chains

    If you plan on deploying Access Proxies for external access to Office Communicator and maybe Office Communicator Mobile then you should be aware with a certificate issue (a.k.a. design flaw) in Communicator Mobile.

    The problem is that CoMo isn't able to use intermediate certs by following certificate chains correctly. If you have a certificate issued directly by e.g. GlobalSign Root CA, then there's not a problem. But if you'r certificate (like ours) has the following chain

    - GlobalSign Root CA
    - GlobalSign Partners CA
    - TDC Internet Root CA
    - TDC SSL Server CA

    Then there's a problem (As opposite to ActiveSync Windows Mobile, which works perfectly fine with the above certificates).

    The solution is to either disable CRL checks in registry (Not "nice") using one of the many registry tools like regeditSTG or to load the entire chain in the Windows Mobile device. The latter can be done using e.g. sslchainsaver and its ability to create xml files that can be cab'ed (Follow the articles in the posting).

    According to my sources the issue will be fixed in CoMo 2.0 which supposedly is a post OCS 2007 release.

    Friday, January 12, 2007

    New look and feel

    As announced in the post Look & feel of msgoodies on August 17th we would "soon" make the transition to the new blogger - which is finally out of beta (Actually a bit ago - but some blogs couldn't be transferred due to blogger "issues").

    Now we finally are here with a new stretched template that greatly enhances the web viewing of msgoodies (Even though we believe most of our readers use RSS feeds like Per and I) including our "problem child" code snippets.

    Also it introduces a much better way of sorting our posts into categories (Allthough we haven't categorized all posts as of yet) and better interface for administration.

    We will soon transition the blog to custom domains, so the blog will be reachable trough both msgoodies.com and blogspot.com.

    Hopefully this will give us more time/desire in the future for posts on our primary interests. I know Per is up to new posts (He is doing magic with PowerShell) and I have a lot of catching up to do on Live Communications Server/LCS.

    Wednesday, January 10, 2007

    Freeing up space on your SmartPhone 5

    It is just a mystery where the space went, isn't it? My phone has 17.95 MB storage but only 1.18 MB available - and I just cleaned it up! Can somebody please explain this to me?

    Well, if you use java apps (midlets), you can move them off to the storage card so that storage is saved. Currently, I only use one, Opera Mini. The interface is not that good, but browsing is much faster than PIE.

    The procedure for moving the java apps have been ripped of a newsgroup entry I found and is credited to scudo -
    • Close the Java applet
    • Create registry string value pointing to your new location e.g. HKEY_LOCAL_MACHINE\SOFTWARE\Tao\JMM\DataPath "\storage card\Application Data\Tao\intent"
    • Move directories and files from \Application Data\Tao\intent to \storage card\Application Data\Tao\intent (use File Explorer with ActiveSync)
    • Reboot mobile

    I decided to repeat the procedure here, as it was hard to find.

    PS. If someone knows if pim.vol can be moved, deleted or resized I would like to know.

    Great Windows Mobile 5 utilities

    Came across these nifty tools the other day from maniac (Danny Baumann, I presume).

    The coolest of the small utilities is called CellPhoneSwitcher and is based on a very clever idea – make the phone change settings depending on the cell the phone is connected to! I wish I have had that idea.

    In this way, you can turn on wireless automatically when you come home and turn it off when you leave. You can do the same with a lot of other settings as well -
    • Change profile
    • Change Bluetooth status
    • Execute a program
    • Vibrate (short for entering the cell, long for leaving it)
    • Change the home screen
    • Show a message
      Play a wave sound
    • Change the phone's wave volume
    • Notify Automatic Keylock (which must be installed separately)
    • Switch Wifi (Wifi-enabled WM5 phones only)
    • Enable flight mode

    See for yourself, the downloads are found here .

    Thursday, January 04, 2007

    How secure are you from spear phishing attacks?

    How easily am I tricked? I don't know, not too easily I hope. At least I have never been tricked on the internet. But don't we all think of yourselves that we are not easily tricked - and isn't it just a matter of how smart the trick is being made? You should ask yourself this interesting question as well.
    I'm working in a small organization which I do not consider an easy target. Not so much because we work with IT and security, but more because I normally have a pretty good idea what I should expect to receive from my fellow workers. And again, as they normally write to me in Danish, that narrows it down as well (for the same reason most spam is easy to spot as it is in English). But those of you working in large and/or multi-national and/or high-profile organizations should read the "DoD Battles Spear Phishing" post by Robert Hersing. Robert asks this question -
    So how would YOUR organization fair against a spear phishing attack
    like the ones hitting the DoD?? Are your employees aware of the threats
    posed by seemingly legitimate emails with seemingly 'innocent' / 'safe'
    attachments?

    Wednesday, January 03, 2007

    Why PowerShell is important

    In his last post of 2006 (the first of 2007 in my timezone, does this guy never sleep?) Jeffry Snover, PowerShell Architect, posted a very good and precise description of why PowerShell is so important. The core of this is the Admin Development Model and I have extracted the most important part here as I think this explains it so good -

    One of the things that motivated us to develop PowerShell was the belief that we (Microsoft) had been doing a poor job supporting the Admin Development Model.

    All the effort seemed to have gone into treating Admins as GUI-only users or as though they were developers that couldn't handle the complexity of parenthesis. I never quite understood the thinking there. On the one hand, you expect the admin to comprehend the mind-numbing complexity of WMI and ADSI but on the other hand, you invest in a language that allows them to avoid typing the parentheses in an IF statement? Was that really the problem? Don't get me wrong - for what it is, VBScript is great but at the end of the day, a lot of VBScripting is full blown systems programming with a simplier syntax. There is nothing wrong with that. The vast majority of Admins are super smart folks that can do systems programming WHEN THEY HAVE THE TIME TO.

    Therein lies the problem. Systems programming takes a lot of time and effort and is pretty formal. The Admins I know don't have a lot of spare time because they run around with their hair on fire. When your hair is on fire, you need a bucket of water and systems programming is not that bucket of water. What admins need is a set of tools that match the reality of their work. Admins need an interactive shell.

    An interactive shell that allows them to quickly, easily, and iteratively investigate and manipulate their systems. Since the nature of admin problems/issues change constantly, they need to easily compose solutions by leveraging a set of base, domain-specific, commands and a then set of powerful, domain-independent, utility cmds. Bruce Payette once said something to the effect that, "the lifespan of 95% of the scripts in the world start at the prompt and end at the carriage return".

    Once you have an interactive shell that supports great compositional scripting, then, depending upon the problem and the odds that you'll want to do that operation again, Admins save that script into a file and run it instead of having to figure it out/type it every time. Over time, they may decide to generalize the script so that it can deal with more and more situations. Later they may choose to make it more formal and do better error handling. Sometimes, they'll want to make it part of their formal management of production servers at which point they'll want it to be very formal, leveraging types/constraints, rich error handling, digital signatures and all that.

    This range of activities, from interactive shell, to quick and dirty scripting, to formal production scripting is what we call the Admin Development Model. (Note that model of work is NOT limited to Admins - many people use this but it is critical for Admins.) PowerShell is very focused on supporting the Admin Development Model. That is why we have an interactive shell.
    That is why we struggled hard to find the right balance in our syntax and semantics between interactivity and scriptability. That is why we support
    a wide range of scripting styles from quick and dirty (bash-style) scripting to more advanced (Perl-style) scripting to more formal .NET programming. We wanted to ensure that you could learn a single tool and then decide how you were going to use that tool to solve the particular problem at hand.

    It is NOT the case that beginners will do the simple stuff and experts will do the sophisticated stuff. We expect everyone will do do everything at some point in time - it is question of the problem they are trying to solve and the skills they have at the moment. (e.g. The highest end of scripters are still going write lots of quick and dirty, ad hoc scripts - because that is the right tool for lots of situations.).

    The great thing about having a single tool to do this is that it becomes economical
    to invest in learning the capabilities of the tool because it can be leveraged in so many situations. It also increases the pool of people that form the community that help each other solve problems. It also makes it easier to grow your career, as you gain expertise and become more productive and opens up more job opportunities than expertise in a very narrow toolset provides (this is another reason why we leveraged .NET - learning .NET makes you more marketable. If you are a hiring manager leveraging PowerShell - the job is more attractive to people and there is a larger pool of experienced people to hire from.)

    PowerShell supports the Admin Development Model because it allows PowerShell to be the right tool for the right job for the maximal range of problems and lays the groundwork for a large and vibrant ecosystem.

    - Jeffry Snover

    Friday, December 15, 2006

    Tip - Installing Communicator Mobile from Vista / WMDC

    When launching Communicator Mobile on Vista RTM with Windows Mobile Device Center Beta 3 you get this message –

    Current version of ActiveSync is not supported. Please install Microsoft ActiveSync 4.1 ….


    The workaround is to create an administrative install of Office Communicator like this –


    msiexec /a CommunicatorMobile_PPC50.msi

    And then launch the PCinstaller.exe from e.g. C:\Microsoft\Communicator Mobile\Windows Mobile 5 PocketPC\Setup.

    Wednesday, December 13, 2006

    Negating PowerShell switch parameters

    The example below should tell it all. Just copy it into a file, execute it and see the output.


    set-psdebug -trace 1
    # f1 is a normal function with a switch parameter

    function f1([switch] $showOutput) {
    if ($showOutput.isPresent) {
    "f1"
    }
    }

    # f2 is a function with a switch parameter defaulted to present
    function f2([switch] $showOutput=[switch]::present) {
    if ($showOutput.isPresent) {
    "f2"
    }
    }


    # f3 is a function with a switch parameter defaulted to true, this gives the same result
    # as using [switch]::present
    function f3([switch] $showOutput=$true) {
    if ($showOutput.isPresent) {
    "f3"
    }
    }

    # run f1, no output shown
    f1
    # run f1, show output
    f1 -showOutput

    # run f2, show output
    f2

    # run f2, show output
    f2 -showOutput

    # run f2, no output
    f2 -showOutput:$false

    # run f3, same behavior as f2
    f3
    f3 -showOutput
    f3 -showOutput:$false

    # Show the acceptable values for a switch parameter
    f2 -showOutput:no
    # f2 : Cannot convert value "System.String" to type "System.Management.Automation.SwitchParameter",
    # parameters of this type only accept booleans or numbers, use $true, $false, 1 or 0 instead.
    # At line:1 char:16
    # + f2 -showOutput:n <<<< o


    So what can this be used for? It is good for defaulting switches like WhatIf to true. This forces the user to enter -WhatIf:$false to get the destructive action executed

    Updated: Fixed typo, thanks John!

    Monday, December 11, 2006

    Map of the Internet

    Here.

    Friday, December 01, 2006

    RTC Client API's and Windows Vista

    FYI there's a new post on the Unified Communications Group blog regarding the RTC API's. The main point is that they're not included in Vista; as they we're in Windows XP. Furthermore Netmeeting is deprecated in Vista and the following limitations apply -

    The IM, Presence, Voice and Video functionality of the RTC 1.3 APIs work on Vista RTM. While audio and video quality are acceptable the quality level does not match what users using Communicator 1.0 have experienced in the past.
    Application sharing and white boarding require Windows NetMeeting, which Vista has replaced with Windows Meeting Space so these features of the RTC 1.3 APIs will not function on Windows Vista.

    Tuesday, November 28, 2006

    FYI: RDP 6.0 Client for Windows XP released

    MS has RTW'ed a RDP 6.0 client that supports the Vista/Longhorn features. You can find it here

    Monday, November 27, 2006

    Oxios ToDo list v6.11

    As you may know, I'm very fond of the little software add-on I have on my Smartphone called Oxios ToDo List. Well, recently I updated to v6.10 and then v6.11 - but both versions gave me problems with the edit task view, so I felt a little disappointed. Finally, I decided to figure out what the problem was yesterday evening (a Sunday). I uninstalled the product completed and reinstalled it - no change. I attempted to find an older version - but without luck. And finally, I did what I should have done right away - I took some screen shots and sent a mail to Oxios.

    It is now 10 Monday morning. I have already received an email from Oxios telling me what the problem was. I have tested the fix (an old file ToDo.exe.0409.mui was left over) and replied that everything works just fine.

    This story just to say, that this kind of support deserves all the credit it can get :)

    Friday, November 24, 2006

    SANS Top-20 Internet Security Attack Targets

    SANS just updated their yearly report. Good stuff to be oriented about and a must read for anyone working with security. Especially interesting is the fact that new - and most likely less mature - technologies like VoIP are being attacked. E.g. Asterisk, the soft-PABX, had four vulnerabilities reported! As always, keep up your defenses!

    EV SSL Certificates

    They used to be called High Assurance certificates but now the name seems to be Extended Validation (EV).

    Anyway, according to this entry in the IE blog EV SSL Certificates are Coming in January. Let us hope this will improve the trust in the web by the common user.

    Friday, November 17, 2006

    Daemon tools 4.06 x86/x64 with full Vista support

    FYI: Daemon tools has been released in a new version that fixes the problems with the old version of daemon tools on Vista (It couldn't install).

    Vista available on MSDN

    FYI: Vista is now available on MSDN and Office 2007 has been there a couple of days (Vista has also been available on the Volume Licensing site for a couple of days now).

    I'm still dualbooting though as my Logitech Quickcam Notebook Pro Camera is missing drivers for Vista, some of my LCS utilities doesn't work in Vista and LiveMeeting still isn't to stable.

    Tuesday, November 14, 2006

    PowerShell RTM'ed

    According to the keynote this morning at TechEd IT-Forum in Barcelona, Spain by Bob Muglia, PowerShell is ready for manufacturing as of today. Cool!

    I just found that it went public in the PowerShell blog.

    Friday, November 10, 2006

    Give me the RTM bits now please !

    I'm really frustrated here ... I use the RSS reader in Outlook 2007 Beta 2 TR and it stopped working a few days ago so I can't read my RSS feeds. I also run Vista RC2 (A.k.a. a legacy OS or at least a legacy build ;-) and knowing that both products has RTM'ed I don't want to fix the problem - I want the Bits so I can reinstall my machine (Or at least my dual boot Vista partition).

    Even though I'm a member of the Office 2007 TAP and member of the Vista Beta I have to wait like everyone else for the release on my MSDN. What is this - don't you know who I am (If you do please send me an e-mail and Cc. my shrink) ... I WANT THE BITS NOW .... please ;-)

    Anti-exploit in Vista

    Read this Michael Howard article that focuses on explaining what Address Space Layout Randomization in Windows Vista is all about but also covers other security mechanisms. The whole idea is to make a system more unpredictable to the attacker making the attack much harder to make. Hopefully, it will take a while before the bad guys catch up.

    Thursday, November 02, 2006

    Protocols used when accessing Sharepoint in Explorer View

    I have always thought, that accessing Sharepoint in Explorer View used WebDAV to do the work. But that is not always the case. WebDAV is actually quite restricted in how it can be used: It is limited to port 80 and consequently it can also not be used with SSL. So what is used instead? A protocol called FPRPC - FrontPage Server Extensions Remote Procedure Call. This protocol - designed before the standard WebDAV protocol was defined - is being used in all other situations. How can you tell the difference? Well WebDAV is a built-in network provider in Windows XP and you can map network drives to a WebDAV URL. Any Windows program can use WebDAV to access data. FPRPC on the other hand is a shared library only being used by programs taking advantage of it. This is typically the Office products. Windows Explorer is able to use both protocols, and in Explorer View you can tell the difference by looking at how Windowish it looks. 3D-icons and all the normal choices in the new menu signals WebDAV. A more flat view is FPRPC (this may be different in Vista).

    Find you more in the whitepaper - Understanding and Troubleshooting the SharePoint Explorer View.

    Wednesday, October 25, 2006

    Consolidating security event

    Finally, a decent solution seems to appear in SCOM (System Center Operations Manager - got to learn those acronyms) for this.

    I learnt it here.

    Tuesday, October 10, 2006

    Live Meeting Console fix for Vista

    I'm regularly using Live Meeting and due to problems with stability on Vista / Office 2007 I always dual boot in to my XP for presentations etc. (Actually the only time I use XP since I switched to Vista during my summer vacation).

    Microsoft has now released an update that fixes some of the problems with Vista / Office 2007. Find it here

    Wednesday, September 27, 2006

    PowerShell RC2 Released

    Finally, the RC2 release is here. I havn'nt tried it yet but plan to do so soon - very soon.

    You'll find it for XP x86 here.

    Tuesday, September 19, 2006

    How to plan for and deploy certificates in Live Communications Server 2005 Service Pack 1

    One of my contacts at Microsoft, Shawn Mahan, who is an expert in PIC issues and many other LCS subjects is presenting a webcast on the use of certificates in LCS on Thursday, September 21, 2006 10:00 AM Pacific Time.

    This Support WebCast discusses the purpose of certificates in Microsoft Office Live Communications Server 2005 and describes how to appropriately deploy certificates for common scenarios. These scenarios include Remote Access, multiple pools, Director or Access Proxy arrays, Microsoft Office Communicator Web Access, and public instant-messaging (IM) connectivity (PIC).

    The use of certificates is often confusing to newcomers to LCS and Shawn is IMHO a very skilled Escalation Engineer, so if you are interested in the subject go watch his presentation here.

    Monday, September 18, 2006

    LCS 2005 Supportability Guide

    Microsoft has released a new Supportability guide for Live Communications Server 2005.

    This document identifies supported configurations for Microsoft® Office Live Communications Server 2005, Live Communications Server 2005with Service Pack 1 (SP1), and Microsoft Office Communicator Web Access.

    It includes all sorts of info, coexisting LCS with other applications, Certificates required, SQL versions support (Now including SQL 2005 SP1), topologies, clients supported and you name it. You can find it here.

    Thursday, September 14, 2006

    Office 2007 Beta 2 Technical Refresh has been released

    Besides some (hopefully) useful updates, it also now supports Vista RC1

    The update should be located here according to the Office Preview site and the mail I recieved from the Beta team and indeed all the other Office products and the now separate download for "Save as PDF / XPS" can be found here, but if you want the Office 2007 System TR you need to look here. Notice the following warning before installing

    IMPORTANT: Please read the update documentation, referenced in the "To install this download" section on this page, BEFORE applying this Beta 2 Technical Refresh update. The documents list several steps that you must complete prior to installation to ensure a successful update. This is NOT a single click update.

    Friday, September 08, 2006

    CSTA and Reverse number lookup in Office Communicator

    If you haven't worked with CSTA / 3PCC (Third Party Call Control) in Office Communicator, then Paul Robichaux has a nice write-up on how Office Communicator translates incoming phonenumbers to contact information (Retrieved from the AD or WAB) and also includes some information on normalization of phone numbers (That usually is a big deal

    It also includes a nice little tip on how to forcibly update the locally downloaded Address Book (If you are using this). See more at his post.

    Using LCS 2005 with multiple domains

    Over at the new UCG blog there's a post on how to support multiple domains in LCS.

    It will tell you how to use autoconfiguration of Office Communicator (Using DNS not Group Policies) in a multi-domain environment and it shows you how to enable Enhanced Federation for your primary domain, while allowing for Direct Federation for "secondary" domains in your company using Subject Alternate Names in your certificates.

    Read more at Configuring LCS 2005 w/ SP1 for Multiple Domains.

    I'm currently investigating where/if we can buy commercial certificates for the Access Proxies that support Subject Alternate Names and whose Root CA's are part of the standard Windows Server 2003 list of Trusted Root CA's. I chatted with a customer representative at Verisign and the answer was a firm no, but after some discussion she told me that they would get back with further info. The last time I looked I couldn't find anyone, but I've been told that some Microsoft customers have been able to do so - I will be back with further info.

    Thursday, September 07, 2006

    Adding entries to visionapp Remote Desktop with PowerShell

    Now that you have visionapp Remote Desktop as I wrote about, how do you populate it easy with all the servers you want? Easy! The configuration is stored as XML as one long string in the registry value hkcu\software\visionapp\vRD\Configuration. And as the registry and xml is native to PowerShell the choice was easy.

    So here is my PowerShell scripts adding a test folder and a test connection -


    # The registry key

    $regkey = get-item 'HKCU:\software\visionapp\vRD'

    # read the configuration value
    $config = $regkey | get-itemproperty -name configuration

    # save it to a file in %temp% - just in case (you can also use backup from the app)
    $savedConfig = join-path $env:temp vRd.saved
    $config.configuration > $savedConfig

    # convert string to xml - cool huh!
    $config = [xml] $config.configuration

    # show part of the xml file
    $config.vRDConfigurationFile
    # and drill down into the ConnectionsFolder
    $config.vRDConfigurationFile.ConnectionsFolder

    # Create a Folder xml element
    $newfolder = $config.CreateElement("Folder")

    # Set its name
    $newfolder.SetAttribute("Name","Test folder")

    # and add it as a child to the ConnectionsFolder
    $config.vRDConfigurationFile.ConnectionsFolder.AppendChild($newfolder)

    # show the added folder
    $config.vRDConfigurationFile.ConnectionsFolder

    # Add some attributes - note that you can do this before or after
    # adding the xml element - $newfolder is a pointer to the live value
    $newfolder.SetAttribute("Description","Testing dude!")
    $newfolder.SetAttribute("Sorted","false")
    # Link folder to a credentials GUID (I checked this beforehand)
    $newfolder.SetAttribute("Credentials","785dd5ed-c75a-48e1-bb31-0b47e1e75fc3")

    # Create a Connection xml element with some attributes
    $newconnection = $config.CreateElement("Connection")
    $newconnection.SetAttribute("Name","server.test.com")
    $newconnection.SetAttribute("ServerName","server.test.com")

    # Add it to the new folder
    $newfolder.appendChild($newconnection)

    # dump folder as XML
    $latest=$config.vRDConfigurationFile.ConnectionsFolder.folder.count-1
    $config.vRDConfigurationFile.ConnectionsFolder.folder[$latest].get_OuterXML()

    # we have to do this several times, so a small function is easier
    function addElement($xml,[string] $elementName, $elementText) {
    $e=$xml.CreateElement($elementName)
    $e.set_innerText($elementText)
    return $e
    }

    # these values must be child elements - not attributes - to the connection element

    # note the double-parenthesis - the inner is used to call the addElement function
    # and return the value to the appendChild method
    $newconnection.appendChild((addElement $config "SmartCard" "false"))
    $newconnection.appendChild((addElement $config "ResolutionX" "1024"))
    $newconnection.appendChild((addElement $config "ResolutionY" "768"))
    $newconnection.appendChild((addElement $config "AutoSize" "true"))
    $newconnection.appendChild((addElement $config "Description" "Test server"))
    $newconnection.appendChild((addElement $config "Printer" "false"))
    # Take credentials from parent folder
    $newconnection.appendChild((addElement $config "InheritCredentials" "true"))
    $newconnection.appendChild((addElement $config "Credentials" "00000000-0000-0000-0000-000000000000"))
    $newconnection.appendChild((addElement $config "SeparateWindow" "false"))
    $newconnection.appendChild((addElement $config "Console" "false"))
    $newconnection.appendChild((addElement $config "Serial" "false"))
    $newconnection.appendChild((addElement $config "LocalDrives" "false"))
    $newconnection.appendChild((addElement $config "Audio" "false"))
    $newconnection.appendChild((addElement $config "Port" "3389"))

    # dump again
    $latest=$config.vRDConfigurationFile.ConnectionsFolder.folder.count-1
    $config.vRDConfigurationFile.ConnectionsFolder.folder[$latest].get_OuterXML()

    # update configuration in registry

    $regkey | set-itemproperty -name configuration -value $config.get_innerxml()

    # folder and connection added!



    PowerShell rocks! - did I mention that earlier...

    A much better Remote Desktops

    Remote Desktops - note the ending s - is a tool for collecting multiple Remote Desktop sessions in one console. I have used it a lot, but it has many drawbacks -
    • You cannot see whether you already have connected to a server or not
    • You have to change cached credentials for every entry
    • It sometime crashes - especially after resume from hibernation (you learn the good old advice: When you have do so much work that you do not want to do it again, you save your data)
    • And perhaps most annoying - you cannot sort/move/reorganize the entries

    I have tried to figure out, how to either reorganize the entries or generate a new console based on data held in Excel - but failed so far pursuing this path.

    One of my customers pointed me to an alternative: visionapp Remote Desktop from the German company visionapp. I have used it for a while now - and all the drawbacks are gone.

    Thank you very much visionapp!

    Wednesday, September 06, 2006

    LCS and Windows Server 2003 R2 known issue

    As you might know Live Communications Server 2005 SP1 is now supported on Windows Server 2003 R2 and SQL Server 2005 SP1. Besides SQL 2005 SP1 it is also a requirement that you install the hotfix documented in KB911996 (Note the quirky installation procedure and that uninstall equals reinstall of LCS!!).

    This time I was scripting the complete installation of LCS using LcsCmd and LCServer.msi (It's way easier to document, than "screenshooting" the GUI installation) and I also had a clustered SQL 2005 installation as a Backend Server.

    After the installation I wanted to launch the LCS MMC on the Enterprise Edition front-end server, but it only presented me a window with the orange "Live Communications Server 2005" logo on top and a text in the middle "Live Communications Server 2005" - but no navigation pane.

    I suspected it was either the scripted installation or SQL 2005 SP1 that was causing the problem, so this was where my trobleshooting efforts went. Two hours and a keyboard later I tried to open the MMC snap-in and manully add the Live Communications Server snap-in and voila, the navigation pane was back ;-)

    I later chatted with one of my few contacts at Microsoft that really know LCS (You know who you are - and I'll keep my promise ;-) and was told that this was a "known issue", which they are investigating (Which is fine with me - since that means that my clustered SQL installation and installation scripts work as expected).

    Interested in Network Bandwidth Usage of Audio/Video in Office Communicator !?

    Then you should look at the NetMeeting Resource kit as the technologies used by Office Communicator 2005 are thosed offered by NetMeeting (Mainly H.323 and T.120). Chapter 4 also looks at the Firewall configuration and ports used by OC.