- Evaluation to full release upgrades are only supported for the volume editions of Office Communications Server full released version.
- You cannot upgrade from the MSDN® edition or to the MSDN edition of Office Communications Server 2007 full release.
- During any particular upgrade, if you cancel the evaluation to full released version of the file installation portion of the upgrade, your server will not perform as designed.
Tuesday, August 21, 2007
Limitations in upgrading from OCS 2007 Eval to Release versions
Sunday, August 19, 2007
Limited support for Exchange 2007 SP1 beta 2 in production with UM / OCS integration - Updated
I just re-checked the SP1 KB article mentioned earlier in the posting Exchange 2007 SP1 Beta 2 information.
And noticed this in the last part of the KB article -
Support
... Traditionally, beta support has been limited to public forums. Beta products have never been supported in a production environment. However, for this beta version, limited support is available through Microsoft Customer Service and Support for customers who want to integrate Communications Server 2007 and Exchange UM features until the release of Exchange 2007 SP1. To receive support through the Microsoft Customer Service and Support organization, you must strictly meet the following criteria:
- Exchange 2007 UM SP1 Beta 2 role deployed to a dedicated server.
- No additional roles deployed with SP1 Beta 2 within the environment.Warning Additional Exchange roles will start an Active Directory Schema update to the production environment when SP1 Beta 2 is installed.
- Only 64-bit code will be supported.
- You must be trying to integrate with Communications Server 2007.
These are similar to the requirements that are imposed on OCS TAP customers - but new is of course actual public support for SP1 Beta 2 on the UM role.
Btw. if you want more info on Exchange 2007 UM and OCS integration then take a look at Introducing Unified Messaging in Office Communications Server 2007 environment.
NLB not supported in OCS 2007 production or lab environments!
It turns out that OCS 2007 isn't even supported in lab environments as documented in -
The Windows Server 2003-based Network Load Balancing service is not supported by Communications Server 2007 in production or lab deployments
So for OCS 2007 and arrays of Front End servers or Directors Hardware Load Balancing is the only supported method.
Wednesday, August 15, 2007
OCS 2007 Resource Kit Sample Chapters published
I saw it yesterday but wanted to read it before I published the information (so I could say something slightly intelligent about it ;-)
The sample content is exactly what I want to see in a resource kit. There are some very detailed explanations on what happens behind the scenes. For example a good section in "Basic IM and Presence Scenario" covers "Examining the Technical Details Behind the Login Process" and has very detailed explanations on e.g. the entire auto-disovery and authentication process and spiced up with SIP snippets.
Of course it's written by some bright Microsoft guys namely mr. Dialplan (Joechen Kunert), Jeremy Buch and Rui Maximo.
Find the book on MS Press here (Can't wait to get my hands on the book and Microsoft if you need a reviewer ... then I'm right here ;-)
Tuesday, August 14, 2007
A Step Beyond Exchange Management Shell Primer
There are many excellent introductory materials covering the Exchange Management Shell in Exchange Server 2007. This article aims to enforce the fundamentals with practical and useful examples. The goal is to help an Exchange administrator better his understanding and command of the EMS in performing routine messaging and related tasks, freeing up time for more important tasks.
Find the article here. Seen on the writer's blog.
Microsoft Unveils Exchange Server 2007 Service Pack 1 in Technology Preview
Continuing on my earlier post there's a press release from Microsoft on the Technology Preview program on SP1 Beta 2. As the press release states it now includes -
Support for Windows Server 2008 and Windows Vista®. Exchange Server 2007 SP1 runs on Microsoft’s next-generation server platforms, including Windows Server 2003 SP2 and Windows Server 2008. The update also enables Exchange Server 2007 management tools to run on Windows Vista and Windows Server 2008. Among other benefits, Windows Server 2008 clustering will make it easier for companies to deploy geographically dispersed Exchange Server clusters.
Enhanced integration with Office Communications Server 2007. Exchange Server 2007 unified messaging goes beyond e-mail to deliver faxes and voice mail to Outlook. With Exchange Server 2007 SP1, people can retrieve voice mail messages from Microsoft Office Communicator 2007 with a single click. Also, certain Office Communications Server 2007- and Office Communicator 2007-qualified devices will be able to work with Exchange Server 2007 for additional functionality, such as a new message indicator that shows when a user has a new voice mail message.
Additional Exchange ActiveSync® policies. New Exchange ActiveSync policies in SP1 build on Exchange Server 2007’s robust security and management features with new policies for synchronization, authentication and encryption. For businesses with more advanced data protection needs, Exchange Server 2007 SP1 offers device, network and application controls. These new features allow network administrators to help manage and secure Exchange ActiveSync-enabled mobile devices.
Standby Continuous Replication (SCR). This new high-availability feature helps organizations recover quickly from failures that affect an entire datacenter, such as a natural disaster or extended power outage. Mailbox data is replicated continuously to a standby server using Exchange Server’s built-in log file shipping technology. The standby server can be quickly activated if the primary server or datacenter goes offline.
Enhanced security. Microsoft also unveiled Forefront™ Security for Exchange Server SP1, which integrates with Exchange Server 2007 SP1 to provide an extra layer of security for even greater protection and control. Forefront Security for Exchange Server includes multiple scan engines from industry-leading security firms integrated in a single solution to help protect against viruses, worms and spam. The new service pack for Forefront Security for Exchange Server features improvements in content filtering and manageability as well as support for Windows Server 2008.
Find the rest here.
Exchange 2007 SP1 Beta 2 information
What's New in Exchange Server 2007 SP1 Beta 2 Extensibility
Ch-ch-changes! They are a comin'. Microsoft Exchange Server 2007 Service Pack 1 (SP1) Beta 2 includes some changes that affect developers, including updates to transport extensibility and additions to Exchange Web Services. To help you prepare to develop for Exchange Server 2007 SP1, this article provides a brief overview of these changes.
Furthermore the UM / OCS part of SP1 is available publicly now -
Requirements for Exchange Unified Messaging integration
If you want to deploy Communications Server 2007 in order to use the Exchange UM voice capabilities and in order to integrate with the Exchange UM service, you have to install the Exchange UM role to Microsoft Exchange Server 2007 Service Pack 1 (SP1) Beta 2. Based on the SP1 release notes, Exchange 2007 SP1 Beta 2 introduces the following features that are required to integrate Communications Server 2007 with the Exchange UM service...
And of course there are the original Microsoft Exchange Server 2007 SP1 Release Notes that eventually will be updated for Beta 2
Saturday, August 11, 2007
Inceptio is finally running OCS 2007 RTM ;-)
For my Front End (a.k.a. Home) server I used the option to export all my users (actually only their settings/contacts etc.), deactivate/uninstall and then install RTM of OCS 2007. For the other servers I also deactivated and uninstalled RC versions and reinstalled the RTM versions. There were a few gotchas but luckily nothing major.
I ran into a documentation error in the dbexpimp.exe suppport tool/help file included with OCS 2007. It states that the syntax for import is dbimpexp.exe /hrxmlfile:"c:\SavedUserData.xml". It's obviously "dmpimpexp.exe /import /hrxml...."
The other issue was a bit more quirky. After reinstalling the OCS 2007 Front End I reassigned all users from ADUC to the new RTM server (With the same name as the old). After that I imported the user data using dbimpexp.exe and everything worked fine (Presence, IM, voice and conferencing). While upgrading the Mediation Server I noticed that all users where disabled, but since all users worked and I was running a RC version of the MMC from the Mediation Server I concluded it was a co-existence issue.Later I was testing PIC connectivity. I created a new Live account and from Live Messenger added sip:my.initials@inceptio.dk. Nothing happened on the OC side. I then added my messenger test account from OC and presence and IM was now working, while this was good it still wasn't OK - I should receive a pop-up in OC. Then I took a look at my user from the OCS MMC and immediately noticed that all users still were marked as "disabled" (Even though they were fully functional). I then ran through all users and enabled them one-by-one. After a Sign Out and Sign In in OC I finally recieved my pop-up (Although I'm not quite sure why and if this has anything to do with PIC not popping up requests, it's still a fact that the users were both disabled from the MMC GUI and functional at the same time). This problem is most likely due to a fault on my side or only related to migrations to RTM.
The last issue was federation with Microsoft (other partners worked fine) after troubleshooting and debugging a bit I suddenly remembered that I had seen a mail a few days ago
All OCS services will be down for the RTM upgrade.
Scheduled Downtime: Friday 8:00am – Saturday 9:00pm services will be down intermittently during the OCS upgrade.
So I guess Inceptio reached RTM before Microsoft ;-)
Office 2007 hotfix that improves presence, IM and UM integration (And Search)
It provides "Consistency of presence data between the presence provider application and Office and improvement of other integration points, including voice mail".
Following are the fixes for presence and IM -
- The presence information that is provided by a presence application is now accurate in all scenarios.
- Instant messaging to distribution lists is no longer supported in Microsoft Outlook.
- The presence icon does not flicker when many people appear at the same time.
- Presence requests from Office applications to presence applications are now handled correctly in all scenarios. For example, a Microsoft Office SharePoint Server 2007 Web page now shows current presence information.
- The icons that are used to display presence data are modified. Users who are red-green colorblind can now determine the status of other users.
- In Outlook Search folders, the count for unread items that are hidden is now accurate.
- When you start an Outlook Search folder from a separate application programmatically, the operation now works as expected.
- You do not have to start Microsoft Office Outlook 2007 to discover a server that is running Microsoft Exchange Server. Outlook 2007 now provides an API to discover Exchange Server servers.
It's a 35 MB download and contains updates to a lot of files including scanpst and update to the API to discover Exchange servers. Find KB936864 here that includes link to the download site.
Thursday, August 09, 2007
Wainhouse Research Survey Shows That Microsoft Leads the UC Race
Wainhouse research has released the results of a survey that shows Microsoft leads the Unified Communications race at small and large customers (160 end users where asked) -
Survey responses indicate that Microsoft has a commanding lead in the enterprise unified communications space with 48% of those surveyed stating that they are currently using or considering to use Microsoft OCS within their organization as compared to 35% currently using or considering to use Cisco UPC and 24% currently using or considering to use IBM Lotus Sametime.
In line with what we see at customers and partners it also states that "One surprising statistic is the huge mindshare Microsoft has generated over all other unified communications solutions."
Microsoft is not only a genius at marketing, personally I think that Office Communications Server 2007 and the accompanying line of products (See Just how big is the OCS release?) is the most interesting release of products from Microsoft since Exchange 4.0 was shipped more than 11 years ago back in March 1996 (See my blog Microsoft Exchange's 10 year anniversary).
See the full Press release here.
Wednesday, August 08, 2007
OCS Quality of Experience Whitepaper
The QoE whitepaper available for TAP's, MVP's and others has now been RTW'ed -
This document introduces Microsoft UC Quality of Experience, an innovative approach that aims to provide all users with the best possible quality anytime anywhere. It combines a comprehensive, user-focused quality program incorporating all significant influencing parameters; the use of intelligent, adaptive end-points that have the real-time capability to monitor, pilot, optimize, and deliver the Microsoft UC Quality of Experience; real-time metrics of user’s perceived quality of the actual call experience for all calls, collected in Metrics CDR and processed by a UC Monitoring Server; and a new media stack optimized for unmanaged IP networks, capable of real-time adaptive and corrective actions to continuously optimize the user’s subjective experience
It's a very good whitepaper, a bit marketing oriented but still contains a lot of good info on the QoE approach and especially the Audio Codecs and also the actual network bandwidth usage (IMO there could have been more info on Video - but you gotta stop somewhere).
Find it here (Seen on Tom's blog).
HMC 4.0 Migration toolkit
This migration kit is a collection of tools and white paper to guide system integrator and service provider through migrating to Microsoft® Solution for Hosted Messaging and Collaboration version 4.0 from previous Hosted Messaging and Collaboration version 3.5. This migration is mainly about upgrading Microsoft Exchange Server 2003 to Microsoft Exchange 2007 and Microsoft Windows® SharePoint® Services version 2.0 to Microsoft Windows SharePoint Services version 3.0. It also includes provisioning data migration from Hosted Messaging and Collaboration version 3.5 Microsoft Provisioning System (MPS) to Hosted Messaging and Collaboration version 4.0 MPS.
So hopefully they can start on working on HMC 4.5 now (Which includes Office Communications Server 2007 ;-)
Free Clinic - Introduction to Microsoft Exchange Server 2007 Unified Messaging
Find it here
Seen on bink.nu
Wednesday, August 01, 2007
Deleting an eventlog
It is very easy from PowerShell -
PS> [System.Diagnostics.EventLog]::Delete("MonadLog")
A warning: You can also delete logs like System (this was tested on XP). After two reboots, the log works again - but naturally it was flushed.
Saturday, July 28, 2007
Office Communications Server 2007 resources #8
Blogs
Communicator Team
Communications Server Team
Product and Tools
Office Communicator 2007 Trial
Office Communicator 2007 release notes
Office Live Meeting download
Office Communications Server 2007 Trial
Office Communications Server 2007 release notes
Office Communications Server 2007 Speech Server Trial
OCS 2007 resource kit (Requires Visual C++ from here)
Microsoft Office Live Meeting 2007 Release Notes
Documentation
Webcasts, Virtual labs and Podcasts (Nice set of virtual labs and some good Podcasts already in place)
Full OCS 2007, OC 2007 and LiveMeeting documentation as download or online
OCS Documentation downloads
Office Communications Server 2007 Technical Library
OCS 2007 on support.microsoft.com (KB articles etc. and includes RSS feed to new KB articles)
OCS 2007 has RTM'ed !!
I received the following mail today stating -
Dear TAP Participant,
This is the update that all you (and of course all of us here at UC) have been waiting for: Microsoft Office Communications Server (OCS) 2007, Microsoft Office Communicator (MOC) 2007, Live Meeting (LM) console (2007), Outlook Add-Ins, Voice devices including “Tanjay,” “Catalina,” “Anacapa” and Microsoft® RoundTable™ have reached the Release to Manufacturing (RTM) milestone!
Anyway, now the bits are final I will be back with a lot of more OCS content in the following months!
Thursday, July 26, 2007
PowerShell, $input vs. process
$input | % { "$(get-date -f HH:mm:ss) $(out-string -inp $_)"}
versus this (Add-TimeStampB.ps1)? -
process {"$(get-date -f HH:mm:ss) $(out-string -inp $_)"}The best way to show it is to try it. First a simple demo -
PS> "hi" | .\Add-TimestampA.ps1
10:08:05 hi
PS> "hi" | .\Add-TimestampB.ps1
10:08:06 hi
The same.
Let's try a loop -
PS> "a","b","c" | .\Add-TimestampA.ps1
10:09:01 a
10:09:01 b
10:09:01 c
PS> "a","b","c" | .\Add-TimestampB.ps1
10:09:03 a
10:09:03 b
10:09:03 c
Still the same.
Let's try it with a loop that takes some time!
PS> "a","b","c" | % { start-sleep -s 3; $_ } | .\Add-TimestampA.ps1
10:10:11 a
10:10:11 b
10:10:11 c
PS> "a","b","c" | % { start-sleep -s 3; $_ } | .\Add-TimestampB.ps1
10:10:21 a
10:10:24 b
10:10:27 c
Did you notice the difference? With Add-TimeStampA all input comes at once and the timestamp is applied at the same time. With Add-TimeStampB, the output is stamped as it is generated.
The explanation is this: The version with $input, stalls the pipeline and waits for all input from the previous command before continuing (just like Sort-Object). The version with process, handles the input as it comes dripping down the pipeline.
You could also see it this way: $input turns the script into a blocking function whereas process makes the script behave like a filter (use get-help about_function for more).
Tuesday, July 24, 2007
Microsoft SharedView Beta
SharedView seems to be a mix between Groove and gotomypc (and its siblings). SharedView always connects outbound to some servers. I assume they are Microsoft servers (see the note below) - but the IP addreses cannot be reversed looked up. And Google did not know of them.
PS> netstat -ao select-string 6556
TCP 192.168.14.4:57983 204.176.46.34:https ESTABLISHED 6556
TCP 192.168.14.4:58074 204.176.46.34:https ESTABLISHED 6556
TCP 192.168.14.4:58305 204.176.46.34:8000 ESTABLISHED 6556
UDP 127.0.0.1:49211 *:* 6556
(6556 is the PID of SharedView). It also has a connection to 195.215.37.46:80, 207.68.178.56:80 and 204.176.46.35:443 during startup. The UDP port cannot be used on my PC owing to Firewall restrictions and a Wireshark trace showed no UDP packages on this port.
Anyway, as it always connects outbound, you can use it in most places. Connecting to port 8000 may be a problem, I have not tested whether it can work without.
So where is this useful? Family assistance, peer-to-peer, help desk - especially when the users are outside the corporate network, consulting - can help customers or work on their computers without having a VPN connection. This is both security risk and a security advantage: The risk is having external persons using internal computers, the advantage is that SharedView limits the external person much more than any VPN connection.
SharedView does not redirect client drives - it only allows for remote clipboard access. This can be disabled in the options window. SharedView have a handout feature for transferring files, but you cannot directly access files. And to get control, the other end must grant you control.
Other highlights -
- You have to log on with our Passport ID to use it.
- 15 persons can be in a session
- Cursors are tagged with user name
- If you start the sharing session from Word, that application will be shared automatically. Even smarter is the fact, that tracked changes are turned on and if another user is granted control and changes the documents, those changes are tracked as being done by that user - cool!
Downsides -
- Shows ads
- Not officially supported on Vista - but works for me
- Not supported on x64 - come on Microsoft, you can do better!
- No Office Communicator integration (Messenger integration is there)
The note below
When browsing to https://204.176.46.35/ IE gives a warning that the certificate does not match - but you cannot view the certificate. Continuing by clicking the red shield returns a 403 error - and again you cannot view the certificate. A shame. With Wireshark I could capture the TLSv1 Server Hello package and see the certificate CN which reads:
id-at-commonName=*.sharedview.com,
id-at-organizationalUnitName=Microsoft.com,
id-at-organizationName=Microsoft.com,
id-at-localityName=Redmond,
id-at-stateOrProvinceName=WA,
id-at-countryName=US
So I guess it is a real Microsoft server.
Surface Computing: Business Demo 2.0
Try to do a search of 'surface computing' on YouTube.com. There are several videos out there. Including some parodies, I'm going to watch shortly over a cup of coffee.
Monday, July 23, 2007
Live Messenger "Look at my summer pictures" worm!
I have used a lot of time educating my grandma (who is >80 years old) on how to use the Internet, Live Messenger and her Webcam (Which she called me last summer to request "Can I also get one of those camera thingies that your children have").
Luckily she listened to me, because today she called me that she was getting strange messages from her family members on Live Messenger (Soon 24 great-grandchildren in total).
So if you receive a message from one of you Live Messenger contacts saying "look at my summer pictures http_//paulina2k8.tripod.com/summer2008.zip" then DON´T click the link.
If one of your friends downloaded the file, it will also try to do file transfers of files called "images052.zip", "photo9.zip", "album29.zip" and others to your computer (And to all of your buddies if you are stu... enough to transfer and open the file). In this case it actually also wrote "Hey, acceptera mina bilder" and other messages in Swedish from her daughter based in Sweden (We are from Denmark).
There are no hits on Live Search and only a few on Google so it´s appears to be a fairly new variant.
I actually recently wrote a security whitepaper on Office Communications Server 2007 security explaining and showing the dangers in using Public IM and VoIP clients generally and especially in businesses (Honestly anywhere if you are not well educated IT Pro ... or my grandma ;-) and this again shows that IM is a fantastic tool but not without associated security issues.
Well this was just a short warning ... the hot chocolate and buns are waiting for me.
I will be back with more content when OCS 2007 has been officially RTM'ed !
CrapWare/BloatWare in downloads as well
E.g. The other day, I updated Java and luckily remembered to use the advanced installation options, so I could uncheck the Google Toolbar. Come on, Sun! Why should I want a toolbar sneaked in, just because I need a Java update??
I actually find that it is OK (besides the wasted download bandwidth) to give me the option. I can understand that Adobe will be me the option of trying some of their other software, but Google Toolbar is totally unrelated to Java runtime. In any case - optional software must be unchecked by default!
So let me start a list of bloatware included in downloads -
- Java runtime - bloated with Google Toolbar and Google Desktop
- Adobe Reader - first it attempts to sneak in Adobe Photoshop Album Starter Edition. Next it will give me Google Toolbar.
- Adobe Flash Player - Google Toolbar
- Windows Live Messenger - bloated with Windows Live Toolbar, changes IE home page
- DivX for Windows - bloated with Yahoo! Toolbar (added 2008-06-11)
Finding Virtual Servers in a domain
Get-VirtualServerFromAD.ps1 -
param([switch]$nameOnly)
$ds=[system.directoryservices.directorysearcher] "(&(objectCategory=serviceConnectionPoint)(cn=MS Virtual Server))"
$servers=$ds.findall()
if ($nameOnly) {
$servers | % { $_.path.split("=,")[3] }
}
else {
$servers
}
Could it be much easier?
Update: the software ate the vertical bars etc.
Wednesday, July 18, 2007
PowerShell and the lack of providers
But as additions are popping up all over the place, I think we are heading in the wrong direction.
PowerShell is designed after the Verb-Noun model. E.g. New-Item. If more or less everything was available with a provider - e.g. in a file system like name space - only very few commands are needed. If there were a name space for processes, New-Item could be used to start a process, Remove-Item to stop one etc.
As we are short of provides, the Verb-Noun model gets - let's called it - stretched and names like Get-ADObject (PowerShell Community Extension) and Start-ElevatedProcess (my own script) starts to appear. I call this the Verb-ClassNoun model. Another example: I have created scripts like New-VirtualMachine when I would have preferred to use New-Item on a Virtual Server name space.
Reducing the number of Verb-Noun combinations is important as it makes it easier to learn and use PowerShell.
This situation is much like what happened in DCL (OpenVMS). It started out pretty clean, but as existing command could not easily be overlaid/extended, newer commands got worse and worse. We should prevent that from happening in PowerShell.
So what can we do about it - and is it so big a problem after all?
Let me answer the latter, first: Well, as provides starts to appear, we will change behavior and un-learn Verb-ClassNoun commands. But having to learn a new command to un-learn it later is hardly efficient. Even worse perhaps, will be the need for backwards support for Verb-ClassNoun commands or risk that existing scripts would break when changing to a provider.
So what can we do about it? The obvious is just to go ahead and get those providers created. Luckily, a lot of skilled people are doing that - but that is not a simple thing to do. So how about a generic-scriptable provider, so all the scripters can create providers without having to code?
Can anyone out there create a generic provider that can be implemented in script?
VRMCplus
Things to note -
- Alternate credentials as not supported. Use runas (even without trusts)
- This is great if you do not wish to install the web site or IIS on your Virtual Servers (did anyone say Windows Server Core?)
- The tools is as-is e.g. unsupported
Give it a spin!
Tuesday, July 17, 2007
Vista .. Where is all my Space Gone?
Nice going from 8-gig-free-with-vista-nag-pop-up to 27-gig-no-nag...
Windows Vista - 6 Month Vulnerability Report
Wednesday, July 04, 2007
PowerShell Start-ElevatedProcess
This is how the JS stuff can be done in PowerShell - note how simple it is :)
Start-ElevatedProcess.ps1 -
param($program)
$sa=new-object -com shell.application
$sa.ShellExecute($program,"$args","","runas")
Example
Start-ElevatedProcess cmd /k ifmember /list
Define your own alias if you want e.g. -
New-Alias elevate Start-ElevatedProcess
Wednesday, June 27, 2007
SSTP VPNs
Unfortunately, I haven't been able to dig up any information about client OS support. Maybe Vista SP1 has it?
Update: Thanks to Steffen for explaining that the abbreviation is SSTP not STTP :) Likewise, he told that Vista SP1 will support SSTP.
Friday, June 22, 2007
Publicly routable IP address needed for A/V Edge server
Chad Lacy apparently started the party with a good posting on why it is necessary to use a Public Routable IP address on the Office Communications Server 2007 Edge Server (The short answer is STUN, which Microsoft co-developed with Cisco).
Find Chads post here Publicly routable IP address needed for A/V Edge server.
Thursday, June 21, 2007
The definitive guide to Exchange Server 2007
Quick note - If you only want to read one (very large) whitepaper on Exchange then look at Technical Architecture of Exchange Server 2007 and skip the rest ;-)
Thursday, June 14, 2007
New UC and VoIP As You Are site
Also check out the new Microsoft UC site - it has been totally renewed.
Source: LCSKid
Friday, June 08, 2007
Exchange 2007 Unified Messaging and Asterisk
Accessing Exchange 2007 Unified Messaging: Introduction
This how-to guide takes you through the steps required to access Exchange 2007 Unified Messaging features, such as Outlook Voice Access, using the open source tools Asterix/Trixbox and sipX.
Tuesday, June 05, 2007
TechEd day 1 - leaving for home early ;-)
For once I attended the Keynote and it was actually quite interesting - especially the vision around driving down cost using the Dynamic Systems Initiative. See the whole keynote at Virtual TechEd.
I had some concalls yesterday, so I only attended a few sessions, most interesting part of the day was more discussions with people from different product groups and a good dinner with one of my Microsoft contacts (Always interesting to talk to peers and especially learning about different cultures/backgrounds).
Nothing much else to say about yesterday - today I had a good MVP Deep dive session and talks with different program managers around the OCS SDK.
The result will be an updated version of my Populating users in Office Communicator / LCS post for Office Communicator 2007 including controlling Access Levels centrally (Access levels are basically showing some presence information like calendaring and phone details to selected contacts only - e.g. your own Team or Company).
The other result of yesterday will be a posting on STUN/TURN and ICE and how to configure networks/firewalls on the OCS 2007 A/V Edge Server.
Monday, June 04, 2007
First day at TechEd
Sunday was an MVP Welcome Event day, where I got to meet some of my MVP fellows for the first time and talk to different program managers in roundtable discussions.
The most fun part though was Party with Palermo. It's good to see that some of my MPV fellows are party animals and I also met a fun group of TechEd party crashers (Where's The Party ;-)
I really look forward to a week full of interesting sessions, meetings with contacts, fellow MVP's and product groups. Maybe I see you there!
Btw. if you're from Denmark or Nordic countries then perhaps we should get together for lunch thursday at 11.30 (We meet outside N212) - find more info in the group "Danes attending Tech-Ed 2007"
Friday, June 01, 2007
RTAudio overview
The document provides a functional description of the Microsoft RTAudio speech encoder and decoder. A list of core capabilities is provided. Also, a detailed list of features such as rate control and forward error correction is included to show how the codec can be used in Voice over IP and other IP Ntwork-based media communication solutions. Finally, the document includes information for licensing this technology from Microsoft Corporation.
As part of the MVP programme and the OCS Voice TAP I have been delving quite a bit into RTAudio and RTVideo (As preparation for delivering Unified Communications Bootcamps to the largest Microsoft partners in Europe) and there are some really interesting inventions and advancements that I hopefully can talk more about as OCS comes closer to its release date.
Monday, May 28, 2007
A PDF-Previewer for Outlook 2007
Thursday, May 24, 2007
Microsoft's Command Line Standard
I think the document is useful for the common PowerShell scripter as well. Especially Appendix A – Standardized Verb Sets and Verb Names and Appendix B – Standardized Parameters should be used when you are naming your own functions and scripts.
Here's another small quote from the document that is also useful to remember
Commands should use their product or feature name (or abbreviation) to prefix their noun. Many teams will have similar noun names. For instance, many
database teams might create the command “new-table”. To avoid collisions, it is best to prefix common noun names with the product or feature name. e.g. “New-SqlTable”
So my function should not be called e.g. Sharepoint-Get-Item but Get-SharepointItem and the server argument should be called -ComputerName and nothing else.
Keeping consistent naming is important as soon as you start to share the scripts. The users using the scripts will learn to use them much faster.
PS. The - by far - best way of managing objects is to have a provider giving you a file system like access. In this way commands like Get-SharepointItem are simply unnecessary as Get-Item SharepointDrive:ItemName would do the job.
System Center Configuration Manager 2007 Beta 2 Product Feature Quizzes
The System Center Configuration Manager 2007 User Assistance team has created a set of 7 quizzes to help you assess your understanding of the dependencies and requirements for key features of Configuration Manager. These quizzes are intended to raise your level of awareness of the some of the nuances of these features before you configure and use them. They can also be used to help train other Configuration Manager administrators within your organization. Each quiz contains 10 or more questions that can be answered Yes or No. Regardless of your answer, the quiz will display the correct information, and include one or more links to the corresponding related content located on TechNet.
Wednesday, May 23, 2007
Microsoft and Industry Leaders to Bridge Communications Systems
Interesting press release from Interop Las Vegas 2007
... These industry leaders are extending their support for unified communications software from Microsoft by implementing the company’s interoperability specification for Microsoft® Office Communications Server 2007. This broad interoperability will help businesses deploy software-based unified communications and cost-effectively adapt to voice and data network convergence.
In the two months since Microsoft published the interoperability specification, global telephony and networking companies such as Alcatel-Lucent, Avaya Inc., Cisco Systems Inc., Ericsson, Genesys Telecommunications Laboratories Inc., Mitel Networks Corp., NEC Corp., Nortel Networks and Siemens Enterprise Communications, and gateway providers AudioCodes Ltd., Dialogic Corp. and Quintum Technologies Inc. have stated their support for the interoperability specification for Microsoft Office Communications Server 2007. Together these vendors provide interoperability with approximately 90 percent of communication systems.
Read the full press release hereTuesday, May 22, 2007
Echo Bot Testing Tool for LCS 2005
The application will echo any IM messages sent to the users that it has been configured to represent. It will also change the presence state of the configured users at a selected interval in order to provide a changing presence display for demonstration purposes.
Very cool for testing purposes !
Find it here.
Monday, May 21, 2007
Windows Mobile 6 - A Good Introduction
The demo walks through our three pillars; Advanced Mobile Communications, Increased Mobile Productivity, and Integrated Mobile Business Performance. It is targeted at customers who would like to learn more about our native capabilities, mobile messaging, security and device management.
There are some nice features in WM6 -
- You can start using mail flagging in Outlook 2007 and have it work with your mobile device
- You can read and change Office documents
- Pocket IE has been improved (I'm currently using Opera Mini for some browsing as PIE is too slow)
- You can deploy you own root certificates without having to mess around (this has been one of the hot issues in this blog)
- It supports SSL wildcard certificates
- And much more...
Saturday, May 19, 2007
Powershell, The Best Date Format for Logs?
- Can be sorted alphabetically (if you need to combine multiple logs)
- Always has same length
- No AM/PM to mess things up ;)
- An international format, understandable across countries and cultures
Then I discovered that it was not necessary to use the programming style above. Get-Date has a –format, so I could change it to Get-Date –f yyyyMMddHHmmss
This is actually ok, but maybe this is more readable –
Get-Date –f "yyyy-MM-dd HH:mm:ss"
Finally, I just realized, that there is a even simpler way of doing it and it even adds timezone and milli-seconds –
Get-Date –f o
So
"$(Get-Date –f o) Start logging"
Saturday, May 12, 2007
Attending TechEd Orlando
Personally I attend sessions on subjects that are not my main area of expertise (No funny comments here !!), but I'm also looking forward to the sessions on programming against the AJAX/OCS SDK and Speech Server - as these haven't been my main focus until now.
Maybe I'll see you there ;-)
Friday, May 11, 2007
VMware ACE 2
- A consultant is coming to help you. You hand him a virtual image with your enterprise desktop. The image expires the date, the consultant has finished working
- You deploy an image on you MP3 player (Pocket ACE). This image can be used to run your enterprise desktop from any PC. Corporate IT could expire these images after a month, so a new up-to-date image must be downloaded each month
- Supply your users with an enterprise desktop image. If the user needs further programs, they can install them themselves on the physical PC. But, remember that you should consider the entire security setup before doing this.
- Merger scenario. Company A buys company B. The A desktop can be deployed as virtual images on B's PCs.
The virtual disk is encrypted, so it should be (fairly) tamper safe. Physical access to the virtual disk has always been a security risk (but also a nice feature) but with encrypted disks that picture is changing. Naturally, the physical host is still able to grab network communication (can be prevented by encrypting the traffic from/to the virtual guest) and the physical host can read and modify the memory used by the virtual guest. ACE 2 is also able to prevent the host from accessing the network, but this can probably be bypassed in some way.
Once deployed, use the ACE 2 Management Server to monitor ACEs and enforce corporate policies from a central location. The ACE 2 Management Server enables administrators to deliver dynamic policy updates to local and remote ACE instances, as well as to control the activation and de-activation of each package for contractors, consultants and other temporary users.
Group Policy improvements coming
MDOP is a collection of tools/features and is only available to SA customers -
- SoftGrid software virtualization
- Microsoft Diagnostic and Recovery Toolset (read Wininternals tools)
- Microsoft Asset Inventory Services (the long awaited license management solution, also appearing in SMS 2003 SP3 as Asset Intelligence)
- Microsoft Advanced Group Policy Management (read GPOVault from DesktopStandard) - AGPM.
The focus here, is the interesting AGPM. The features are -
- Granular administrative control
- Robust delegation model
- Role-based administration
- Change request approval
- Reduced risk of widespread failures
- Offline editing of GPOs
- Difference reporting and audit logging
- Recovery of a deleted GPO
- Repair of live GPOs
- Enable effective Group Policy change management
- Creation of GPO template libraries
- Subscription to policy change e-mail notifications
- Version tracking, history capture, and quick rollback of deployed changes
Read more here.
Thursday, May 10, 2007
Working with Unified Communications and attending TechEd Orlando?
The Unified Communication Marketing team will be conducting six focus groups at Tech Ed, Orlando in June 2007 focusing on Unified Messaging, IP telephony space. We would like to work with you to identify and recruit IT administrators and IT managers in this area for participation in these 2 hour sessions. We are conducting focus groups to gain clarity concerning the roles and responsibilities in an IP telephony environment, given Exchange Server 2007 Unified Messaging and the public release of Beta 3 Office Communications Server (OCS) 2007.
We would like recruit IT administrators and IT managers currently working in an enterprise environment, which is defined as an organization with 100+ servers and 500+ PCs. They may work as full time employees or as contracted vendors. We are looking for a group of IT administrators and IT managers who have experience with Microsoft products such as Exchange Unified Messaging, Office Communications Server 2007, Office Live meeting, Live Communications Server, etc., this experience would be a plus. We are also interested in IT administrators and IT managers who have experience in an IP telephony environment and not strictly a TDM/legacy telephony environment, with expertise in IP telephony equipment from vendors such as Cisco, Avaya, and Nortel.
Also request participants to sign up for one the following sessions if they are an IT administrator or IT manager who manages the technology related to the session.
Session 1: June 4th, 1:00pm-3:00pm – For IT administrators and IT managers who manage Microsoft LCS or Microsoft OCS pilots.
Session 2: June 4th, 3:00pm-5:00pm – For IT administrators and IT managers who manage Microsoft LCS or Microsoft OCS pilots
Session 3: June 5th, 3:00pm-5:00pm – For IT administrators and IT managers who manage Exchange Unified Messaging or Cisco Unified Messaging solutions
Session 4: June 6th, 12:00pm-2:00pm – For IT administrators and IT managers who manage Exchange Unified Messaging or Cisco Unified Messaging solutions
Session 5: June 7th, 1:30pm-3:30pm – For IT administrators and IT managers who manage Cisco, Avaya, Nortel or any other VOIP solution.
Session 6: June 7th, 3:30pm-5:30pm – For IT administrators and IT managers who manage Cisco, Avaya, Nortel or any other VOIP solution.
All sessions are in Peabody Hotel Bayhill Suites II.
If you are interested then sign-up by e-mailing ucgfg(at)microsoft.com directly with you contact details.
Tuesday, May 08, 2007
LCS 2005 / RTC Sample applications RTW'ed
Microsoft has released/updated a very interesting set of sample applications complete with source code (C# and VB.NET). I'm personally working on a case, where we are going to leverage the Client Web Access AJAX Service and samples like these are very good starting points.
- This sample demonstrates how custom server and client alerting applications can be written. This download includes fully functional sample applications that allow users to send alerts to Active Directory Group members who have an alert client application installed.
- This sample is designed to show you how to create a custom application which allows Domain Administrators to manage contacts and groups for individual users.
- This sample demonstrates how you can quickly and easily add custom disclaimers to outbound communications.
- This sample shows how you can leverage the Automation, RTC, and Messenger APIs to extend Office Communicator functionality through the use of a helper application.
- This set of samples illustrate how to provide presence, instant messaging, and additional enhanced functionality in a web site by leverage the Client Web Access AJAX Service.
- This sample demonstrates the addition of custom tabs within Microsoft Office Communicator 2005.
- This set of samples illustrate how to provide presence, instant messaging, and additional enhanced functionality in a rich client application by leveraging the Office Communicator Web Access AJAX Service.
- This sample shows how ethical walls or communication boundaries between select contacts are created.
Happy coding ;-)
Monday, May 07, 2007
LCS 2005 SP1 Reskit updated
It updates two tools, namely the the Lcsimpac.wsf (Used for importing Exchange Instant Messaging contacts to LCS) and the Lcsarchexport.exe tool.
No news on Vista support for lcsping etc. though (Although soon to be named legacy it is still in use in a few places ,-)
Find the description here and the download here.
New cumulative Office Communicator 2005 hotfix RTW'ed
936351 - The conversation history is cluttered and is difficult to read in Communicator 2005 when Communicator 2007 is used to initiate a conversation and when Multiparty IM is used
934581 - You see a black screen or a still video image after a video works briefly in Communicator 2005
935868 - Information for users is incorrectly displayed in Office Communicator 2005
936352 - A Communicator 2007 user cannot add a video to an audio call that is between a Communicator 2007 client and a Communicator 2005 client
I just installed it - but this will be the last one as we are migrating all of our internal users to OCS 2007 B3R in the coming days (As part of one of our customers OCS Voice TAP's we need to move along with our own installation).
Find the hotfix download here
Thursday, May 03, 2007
How Transport Selects Certificates for TLS and other good Exchange 2007 documentation
You Had Me At EHLO has once again produced an excellent article on Exchange. This time it's on How Transport Selects Certificates for TLS and the full article can be found here.
Furthermore Microsoft has published a series of new Exchange 2007 documentation on Exchange 2007 on the Download center. Being a bit lazy I will redirect you to Rui Silva's blog and his listing of the documents in the post Exchange Server 2007 - new documents.
Thursday, April 26, 2007
EASI passport domains support for Live Messenger and LCS PIC
As earlier reported in EASI passport domains support in PIC / LCS 2005 SP1, EASI passports (Custom domains in MSN/Live) has actually been supported in LCS 2005 Public Instant Messaging Connectivity since October 11th 2005, even though the KB article KB897567 "Known issues that occur with public instant messaging after you install Office Live Communications Server Service Pack 1" said that it didn't.
Last I checked (April 2nd 2007) the information still wrongly stated that it wasn't supported, but it has now been corrected (I have reported it several times both through feedback forms and my contacts in US) as follows -
As of October 11, 2005, all EASI Windows Live ID domains are fully supported for the Public IM Connectivity (PIC) service. This means that Microsoft Office Communicator users can communicate with MSN users by using EASI Windows Live IDs through PIC. EASI ID enables MSN users to use the domain name of their choice to create an IM address through Windows Live ID. For example a user’s EASI Windows Live ID could have been username@contoso.com
This was a great service for MSN users. However, the service caused problems when PIC-enabled users tried to communicate with MSN users by using Office Communicator. With the change of October 11, 2005, you can use the EASI Windows Live ID with PIC by making a simple change when you add a user to your Communicator contact list.
A Communicator user who wants to add the EASI Windows Live ID of username@contoso.com would add the following address to the search field: username(contoso.com)@msn.com
This increases the effectiveness of the PIC service because contacts that have unsupported EASI Windows Live ID domains no longer need to change their domains in order to use the PIC Service.
Remember that if you implement LCS and OCS and SIP with same namespace, as your users has used earlier in EASI passports (E.g. msnuser@inceptio.dk), then the msnusers will be required to change their passports after the PIC service has been activated ... and this is by no means a "smooth process". Read more about this in Issues with EASI passport domains, LCS and MSN Messenger.Wednesday, April 25, 2007
Windows Messenger and Office Communicator Port Usage
If you are looking at firewall configuration the post LCS, Audio/video, file transfers and firewalls may also be worth a read, and if you are looking at Network capacity planning then look at the post Interested in Network Bandwidth Usage of Audio/Video in Office Communicator !?.
Monday, April 23, 2007
PowerShell, bug in Stop-Transcript
Stop-transcript –ea SilentlyContinue
Transcription has not been started. Use the start-transcript command to start transcription.
Stop-Transcript : An error occurred stopping transcription: The console host is not currently transcribing.
At line:1 char:16
+ Stop-transcript <<<< –ea SilentlyContinue
This must be a bug. Luckily, Stop-Transcript is not an important command as such.
You can suppress the error message using one of these method.
1) Set the global variable (or in the script scope)
$ErrorActionPreference="SilentlyContinue"
2) Do it locally in your script (better)
& { $ErrorActionPreference="SilentlyContinue"; Stop-Transcript }
3) Trap the message (probably best)
Trap {Continue} Stop-Transcript
If you need to suppress all output append > $null
Interesting set of webcasts on Exchange Troubleshooting Assistant (a.k.a. EXTRA)
In order to help with understanding of how to use EXTRA 1.1, we have organized three Webcasts to be presented by the lead developers of the Database Troubleshooter, Performance Troubleshooter and the MailFlow Troubleshooter. They will be showcasing the functionality of these tools and also we are aiming to have Q&A during the Webcast for any questions that you have.
See more here (And remember to subscribe to their RSS feed if you already haven't done so ;-)
Technical Note on Exchange 2007 UM and Cisco CallManager (CCM 5.1) integration
- PBX Vendor: Cisco
- PBX model: Call Manager 5.1
- PBX software: 5.1.0.9921-12
- Protocol: Direct SIP Connection
It also contains a link to a list of trained Exchange 2007 UM partners (I guess you don't get on that list if you can do it without training ;-)
Download it from here.
Friday, April 20, 2007
PowerShell, writing debug output
My first hope was that Write-Debug would output to the debugger, so I could see the messages in Sysinternals' DebugView. But no. Write-Debug should write to the debug pipeline, but I do not think PowerShell v1 has a way of reading that pipeline.
Luckily, PowerShell is a .Net application, so - would it be possible to tamper with the listeners like I have done in asp.net? The answer to this rhetoric question is yes.
So I wrote two new scripts Set-DebugOutput and Out-Debug. Originally, I would have just overridden the existing Write-Debug statement, but I cannot figure out how to do that. If I create a function called Write-Debug, that will be called - as PowerShell searches functions before cmdlets - but I also want to call the Write-Debug cmdlet. I have searched the Microsoft.PowerShell and System.Management.Automation namespaces without luck. But Out-Debug is also a 'valid' name as it sends information outside the PowerShell environment.
The two scripts are placed in by script library and is included in the path. I do that like this in my $profile -
$myPSConfiguration=(split-path $myinvocation.mycommand.path -parent)
$libraryDir=join-path $myPSConfiguration Library
new-item -type directory -path $libraryDir -ea silentlycontinue
$env:path+=";$libraryDir"
Explanation: Figure out where $profile is placed, build path, create sub folder - ignore errors, add to search path
Both scripts are raw and not commented as they are so small. Out-Debug uses a method so it processes both arguments and pipeline input. An easy way to do so is to create a local function - f - that does the actual work (always using pipeline input) and then just process $args and $input. Out-Debug calls Write-Debug, so the debug is still visible if $DebugPreference is set to Continue. Set-DebugOutput lets you specify a file which then also receives the debug output.
Set-DebugOutput.ps1 -
param($file)
[System.Diagnostics.Debug]::Listeners | ? { $_.name -eq "Default" } | % {
Write-Verbose "Setting log file to $file"
$_.LogFileName=$file
}
Out-Debug.ps1 -
filter f{Write-Debug "$_";[System.Diagnostics.Debug]::WriteLine("$_")}
$args| f
$input | f
PS. If you see Dennis, remember to tell him that he has something in his eye...
Wednesday, April 18, 2007
Correcting SIP address to match SMTP address
You can find the script here.
We (Actually Per) have created the same script using PowerShell for a customer and when Per gets his act up (Wink, wink) we may post the same and more samples in PowerShell (If he doesn't I will do it and take credit ;-)
Small Update Rollup for Exchange 2007 released
932487 (http://support.microsoft.com/kb/932487/) The Microsoft Exchange Information Store service stops unexpectedly when the Exchange Server 2007-based server replicates the Public folder
929756 (http://support.microsoft.com/kb/929756/) The DoSnapshotSet method may stop responding in the Exchange store, and a backup application stops responding on an Exchange 2007 server
You can find more info in the KB and the download here.
Monday, April 16, 2007
HMC 4.0 RTW'ed
Microsoft Solution for Hosted Messaging and Collaboration 4.0 offers hosting service providers with tools, tested best practices, scripts, and code samples designed to efficiently deploy messaging and collaboration services on multi tenant servers. The solution provides both automated and manual procedures for deploying, running and operating a hosted environment.
Most notably it now includes Exchange Server 2007 and WSS 3.0 hosting. If you are not familiar with the product you can read more about the solution here (Or better yet contact us at Inceptio A/S for an introduction / Architectural Design Session ;-)
Thursday, April 12, 2007
Viridian and Virtual Server Timing Update (A.k.a. delayed)
The public beta of Windows Server virtualization will ship in the second half of 2007, not in the first half as previously disclosed.
Still 180 days after the longhorn release
The final version of Virtual Server 2005 R2 service pack 1 now will be available in Q2, not Q1 as previously stated. In the interim, customers and partners can download a Release Candidate (RC) version later this month - this is code complete and an update to the current beta 2.
I still wonder why Virtual PC 2007 supports 64 bit guest OS and Virtual Server doesn't - anyway IMHO after approx. 6 months since the the release of beta 2 its about time for the RC ;-)
Read the complete announcement here. Originally seen here.
Wednesday, April 11, 2007
Exchange 2007 SP1 Beta available on MSDN and TechNet Plus
Friday, April 06, 2007
Mail and Public folder replication not flowing between Exchange 2003 and newly installed 2007 ?
If you open ESM on Exchange 2003 it should look like this ("Borrowed" from TechNet illustration) -
.gif)
If the connectors aren't there, then you can create them from Exchange Management Shell as described in the article How to Create Routing Group Connectors from Exchange 2007 to Exchange Server 2003".
Tuesday, April 03, 2007
PowerShell, Convert-TsvToCsv
The other day, I exported some data from SQL 2000 analyzer to a CSV-file. The database was across the internet but I had no direct database connection and I had to get it down to my PC for analysis. The easiest way was to export it directly to my PC's file system using \\tsclient\c.
On my PC, I had created a PowerShell script, to analyse the data. After getting strange results, I realized that SQL exported values with commas without quoting them. This made the cmdlet Import-Csv ‘shift’ some of the records, as it parsed the records.
To overcome this, I exported the data as TSV i.e. with the tab character as delimited. But Import-Csv does not read TSV or any other delimited than comma (see also my earlier entry about Export-CsvCultureAware). Consequently, I had to convert it to a correctly-formatted CSV-file. I did it with this script –
PS> type Convert-TsvToCsv.ps1# Convert a tab separated file to comma-seperated, enclosing each element in double quotes
# quotes within the values are doubled
$v=new-object system.text.stringBuilder 1000
$input | % {
$v.length=0 # empty sb
$e=$_.split("`t")
$e | % {
$null=$v.append(",")
if ($_[0] -eq "`"" -and $_.endswith("`"")) {
# already quoted - strip them
$_=$_.substring(1,$_.length-2)
}
$null=$v.append('"'+$_.replace('"','""')+'"')
}
$v.tostring().substring(1)
}
Comments to the code –
- This is a quick and dirty solution
- Pipe your tsv-file into the script file and output will be csv
- A single StringBuilder is used to optimize memory usage, I had to convert a file with 15.000 lines, 13 MB file, so speed mattered
- To make the logic easier, the string always starts with a comma and then does not output it at the end – hence the substring(1)
Share it!
PS. Code formatted with CodeHTMLer
PowerShell, Export-CsvCultureAware
I stole this joke in an entry http://blogs.msdn.com/powershell/archive/2007/01/06/cliff-notes-of-convertto-html-other-language-blogs.aspx by Jeffry Snover -
- How do you describe someone that can speak multiple languages?
Multi-lingual. - How do you describe someone that can speak two languages?
Bi-lingual. - How do you describe someone that can speak one language?
American
And this also goes for PowerShell as well!
To be fair, I have only found few problems: Export-Csv and Import-Csv are not culture-aware!
In Denmark, amongst many other cultures, comma is used between integers and decimals and dot is used to make integers more readable. Semi-colons are used in argument list like between Excel function arguments and when saving a CSV-file from Excel. The normal American 1,234.56 is 1.234,56 here and 1,2,3 becomes 1;2;3. What does this mean? This means that Excel is using these culture rules when parsing input and consequently, arguments in Excel functions and fields in CSV-files are expected to be separated with semi-colon.
So when I do –
PS> Something | export-csv x.csv; ii x.csv
Excel is not able to parse my CSV-file directly. I either have to
1) change the regional settings before starting Excel or
2) use the text-to-data wizard in Excel.
The worst part is that PowerShell knows the concept of cultures – as it is based on .Net – and has the info –
PS> (Get-Culture).textinfo | select listSeparator
ListSeparator
-------------
;
So it should have been culture-aware or at least provided a -seperator argument.
I also tried setting $OFS - the output field seperator, but that did not change the result.
This work-around works (wrapped for formatting reasons) -
PS> something | % {$h=@()} { if(!$h) {$_.psobject.properties | % {}
{$h+=$_.name} {[string]::join(";",$h)}}; $r=$_;$_.psobject.properties |
% {$f=@()} {$name=$_.name;$f+=$r.$name} {[string]::join(";",$f)} }
Dirty ;)
But as always, the quick-timers can be converted to a nice function. The function also includes quoting of all values, but does not handle values with quotes -
function Export-CsvCultureAware($file=$(throw "File must be specified")) {
# First, construct the header by picking up all the property names
$sep=((get-culture).textinfo | select listseparator).listSeparator
$sep='"'+$sep+'"'
$header=@()
$input | % {
if (!$header) {
$_.psobject.properties | `
% {} `
{$header+=$_.name} `
{'"'+[string]::join($sep,$header)+'"'} `
}
# Next, process all the data records/objects
$record=$_
$record.psobject.properties | `
% {$fields=@()} `
{$name=$_.name;$fields+=$record.$name} `
{'"'+[string]::join($sep,$fields)+'"'} `
} | out-file $file -encoding ascii
# Only ASCII files seems to be supported in Excel for CSV
}
PS. The blogger editor gives me a hard time formatting these code
examples, so a vertical bar or such may have slipped. Any suggestions
of how to improve editing are highly welcome. I currently use pre-tags
but if I switch to Compose view, strange things happens.
PowerShell training in Denmark
Sunday, April 01, 2007
Congratulations! You have received the Microsoft MVP Award
Congratulations! We are pleased to present you with the 2007 Microsoft® MVP Award!
The Microsoft MVP Award is our way of saying thank you and to honor and support the significant contributions you make to communities worldwide. As a recipient of Microsoft’s Most Valuable Professional award, you join an elite group of technical community leaders from around the world who foster the free and objective exchange of knowledge by actively sharing your real world expertise with users and Microsoft. Microsoft salutes all MVPs for promoting the spirit of community and enhancing people’s lives and the industry’s success everyday.
To learn more about the MVP Program, visit: www.microsoft.com/mvp
What can I say other than thank you! Especially to the brilliant Microsoft people in Charlotte, Turkey, Redmond and Denmark who helped me getting this award and in developing my competencies around Live Communications Server and Unified Communications (You all know who you are ;-)
I look forward to joining the MVP community and especially to contribute more to the community on the subjects of Office Communications Server and Unified Messaging.
My MVP profile can be found here.
Saturday, March 31, 2007
Breaking news from The Exchange Team !!
- Outlook team has just checked in a warning that pops up when your PST reaches two terabytes. It says: "Really... two terabytes oughtta be enough for anybody!!"
- In an attempt to allow our customers to achieve work/life balance, a new BPA setup prerequisite check is being introduced; it will prevent installations of Exchange server during working hours. Administrators everywhere have welcomed that idea.
Go read the rest here ;-)
Wednesday, March 28, 2007
Nortel and Microsoft to Deliver Carrier-Hosted Unified Communications
Nortel and Microsoft has now released more information on the offerings it are going to provide as part of their Innovative Communications Alliance (ICA) -
Nortel and Microsoft’s alliance will allow carriers to host unified business communication and collaboration services for their business customers, including e-mail, instant messaging, VoIP, click-to-call, video conferencing and other multimedia services. This will enable carriers to derive greater value from their existing network investments and resources, while allowing SMBs and enterprises to benefit from unified communications without bearing the burden of purchasing, installing and managing additional network infrastructure.
Building on their existing Innovative Communications Alliance, Nortel will integrate its Communication Server 2000 (CS 2000) softswitch with the Microsoft® Solution for Hosted Messaging and Collaboration, which incorporates hosted versions of Microsoft’s familiar, world-class enterprise products Microsoft Exchange, Microsoft Office Live Communications Server and Windows® SharePoint® Services.
Look for more details at Nortel and Microsoft to Deliver Carrier-Hosted Unified Communications and in CIO India that quotes from the presentation that -
"First, you'll get smart unified clients," which ties together Microsoft messaging, Nortel softphone and hardphone technology. "After that, we'll deliver transformed backend. "Over the next two to three years, Ballmer said, customers of Nortel and Microsoft "can expect to go from a separate, PBX and separate server software [environments], to one where [OCS] ... and Nortel [VOIP] servers deliver the full telephony experience, with both platforms running on standard Intel architecture with common Windows software, development and management tools."
and Network World in the article Nortel, Microsoft lay ground for hosted services says ...
... the initiative has been expanded toward service providers, allowing the carriers to provide a richer equivalent of the Centrex services that small and midsize businesses often use instead of buying their own phone switch. By crafting systems for carriers, the alliance for the first time is going after the market Nortel traditionally knows best.
Really interesting news for many of my customers ;-)