You are here

Feed aggregator

Microsoft’s pioneering “Event Management Portal” to facilitate HEC training programmes.

MSDN Blogs - Thu, 03/26/2015 - 21:42

Islamabad: 19th March, 2015 - Microsoft and the Higher Education Commission (HEC), Pakistan have collaborated to create an online portal “National Event Management System” (NEMS), developed by Xelleration Pakistan, for academic activities of higher education
institutes. The purpose-built and enriched online portal will enable HEC to effectively manage over 3000 events, organized by universities and HEC under a country-wide Education-Alliance between Microsoft and HEC. Based on Microsoft Office 365 (SharePoint Online), this portal will also facilitate and inform the potential participants and attendees about the events as scheduled and published.

This pioneering facility will be offered to more than 157 universities and campuses, facilitating over one million students, faculty members and staff across the country. HEC - being the facilitator of the educational sector, will now be able to closely view and strategize education
planning based on the audience feedback extracted from this portal. This portal offers user registration, attendance, and self-service scheduling of various activities for diversified events and also solve the problems highlighted in the feedback received from the participants.

The administration teams at universities can use this comprehensive facility to; manage events, manage facilities/ resources and reserve rooms for the events. A special feature will enable them to invite attendees for an event, or help them in self-enrollment. The portal also offer
publishing & sharing the events on Social Media. Post-event feedback collection from the users through an automated mechanism and subsequently extracted from the portal. One click view of graphs and charts, representing the number of events, are amongst the main features of this portal, which can be compiled according to various disciplines or subjects, e.g. Engineering events, Medical events, etc.

A special inauguration ceremony was held in which this National Event Management System was inaugurated by Prof. Dr. Mukhtar Ahmed, Chairman HEC with the launch of portal available at Mr. Harb Bou-Harb, Public Sector Director of Microsoft- NEPA region was also present on the occasion.  The event was also attended by Prof. Dr Mansoor Akbar Kundi, Executive Director HEC, Anwar Amjad, Director General IT HEC, Abid Zaidi Country Enterprise & Partner Group Director Microsoft Pakistan and Jibran Jamshad, Enterprise Technology Strategist Microsoft Pakistan.


“HEC will continue to play its key role in facilitating and
strengthening the institutions of higher learning in Pakistan. National Event Management
System has been meticulously designed to effectively resolve the operational
challenges and enhancing the productivity of hundreds of events in diversified
discipline, organized by and for HEIs across Pakistan, every year. It will also
help in addressing the concerns and issues faced by participants in these events”,
said Anwar Amjad, Director General (IT), HEC.

The Regional Public Sector Director of Microsoft NEPA – Harb Bou-Harb
stated that; “It is a matter of pride for Microsoft to facilitate the creation
of this sophisticated online facility, which will go a long way in streamlining
the insightful events, conducted and managed by Higher Education Commission
annually. Microsoft is fully committed to foster educational initiatives across
the globe and elevate the standards of education in the developing world”.

“Today's Educational institutions are aiming to
prepare their students & faculty for the world beyond classrooms. They are
empowering them by providing devices, access to software, training and other
elements needed for outcome based learning” said Abid Zaidi, Country Enterprise
& Partner Group Director, Microsoft Pakistan. “At Microsoft, we are proud
to be the strategic partner of Higher Education Commission of Pakistan, which
is leading the way forward for higher education and helping students realize
their true potential through such initiatives.”

Unified Service Desk の拡張 : CTI イベントルーティングにおける汎用リスナーアダプターの利用

MSDN Blogs - Thu, 03/26/2015 - 20:00

みなさん、こんにちは。前回まで全 7 回にわたる Unified Service Desk の構成チュートリアルをご紹介いたしました。今回は拡張編として、Unified Service Desk と CTI システムを連携する仕組みについてご紹介いたします。なお、今回紹介する内容は基本的に以下のチュートリアルの内容に沿っています。
Walkthrough: Use the generic listener adapter for CTI event routing



  • USD のインストールが完了している必要があります。以下の記事を参考にしてインストールを完了しておいてください。
    Unified Service Desk のインストール
  • インストール時に展開されるサンプルパッケージの機能を一部利用します。前回までの全 7 回の Unified Service Desk の構成 Part 1 ~ Part 7 で使用したユーザーと同じユーザーを使うときは、Unified Service Desk の構成 Part 1 ステップ 3 でユーザーに割り当てた構成を解除してください。
  • サンプル CTI シミュレーター アプリケーションの Visual Studio プロジェクトを以下からダウンロードします。 
    プロジェクトをビルドし、サンプル アプリケーション プロジェクトの bin\debug フォルダの USDCTICallTester.exe を実行します。USD CTI シミュレーターは USD クライアントを実行している同じコンピューター上で実行する必要があります。



コールセンターでは、既存のお客様からの電話の受電にともない CRM の顧客情報を自動的にエージェントのデスクトップ画面に表示させるような Computer Telephony Integration (CTI) 連携機能が求められることがあります。今回は USD の拡張機能として、顧客からの入電のような CTI イベントが発生したときに Microsoft Dynamics CRM の顧客レコード をポップアップさせるスクリーンポップの仕組みをご紹介いたします。

CTI イベントを USD と連携させるために、CTI デスクトップマネージャータイプのホストされたコントロールと汎用リスナーアダプターを利用することができます。今回の記事では、USD に CTI リクエストを送信するサンプル CTI シミュレーターを使用しています。また、CTI イベントが発生した際、どのような情報が汎用リスナーアダプターによって渡されてくるかをデバッガーによって確認します。


USD では Web サービスや各種 API 経由でイベントや CTI アクションにアクセスするためにカスタム CTI アダプターを構築できます。また、CTI イベントが発生した際にエージェントのコンピューターの URL を開く機能を持ったCTI ミドルウェア向けに汎用リスナーアダプターを提供しています。
汎用リスナーアダプターは既知のポート (5000) : http://localhost:5000/ でHTTPリクエストを受け付けます。汎用リスナーアダプターは URL からクエリ・ストリングを抽出して CTI イベントのパラメーターとして文字列の値を使用し、次に USD において CTI スクリーンポップを発生させます。一旦汎用リスナーアダプターが指定のポートで起動すると、CTI ミドルウェアから以下のような URL が呼ばれるのを待ちます。

このURLの例では、クエリ・ストリングは分割され、以下のパラメーターとして USD の Global Manager のホストされたコントロールに渡されます。










これはコールをルーティングするためのウィンドウナビゲーションルールの開始活動の情報を表します。詳細は CTI Search をご参照ください


Key=value のペア

Key-value のペアは、顧客レコードを検索するために Global Manager のホストされたコントロールから CTILookUpRequest に渡されます



CTI 検索の際、これらのパラメーターは置換パラメーターとして利用できます。セッションが開始されると、これらのパラメーターは以下のように cti 接頭辞を使ってアクセスできます。

Use the generic listener adapter in Unified Service Desk

 この後のステップで利用しているサンプル CTI シミュレーターでは、CTI イベントを擬似的に発生させて上記で説明したようなパラメーターを汎用リスナーアダプターの URL に対して渡しています。


ステップ1:Unified Service Desk で CTI デスクトップ マネージャのホストされたコントロールを構成

  1. Microsoft Dynamics CRM にサインインします。
  2. ナビゲーション バーで Microsoft Dynamics CRM をクリックし、設定 を選択します。
  3. 設定 > Unified Service Desk > ホストされたコントロール をクリックします。
  4. 新規 をクリックします。
  5. 新規ホストされたコントロールページで次の値を指定します。




USD コンポーネントの種類

CTI デスクトップ マネージャー



アセンブリ URL




※アセンブリ URL とアセンブリの種類フィールドで指定された値は、CTI デスクトップ マネージャータイプのホストされたコントロールの汎用リスナーの値です。



  1. 上書き保存 をクリックします。


ステップ2:Unified Service Desk に CTI イベントが発生した場合のテスト

  1. USD クライアントを起動し、Microsoft Dynamics CRM インスタンスに接続します。クライアント起動後、デバッガーコントロールを起動する右上隅の歯車アイコン(設定)を選択し、 アイコンを選択してデバッガーの出力内容をクリアにします。


  1. USD CTI シミュレーター アプリケーションを起動し、Send To USD をクリックします。


  1. CTI イベントが公開されるクライアントアプリケーションにてスクリーンポップが発生します。この場合、CTILookUpRequest は USD CTI シミュレーター アプリケーションで指定された値ともに開始されます。まだウィンドウ ナビゲーション ルールを設定していないため、何も起きません。


ステップ3:CtiLookUpRequest をルーティングするウィンドウナビゲーションルールを定義

一致が見つかった場合にセッションを作成するウィンドウ ナビゲーション ルールを作成し、一致した取引先担当者レコードを USD のセッションに表示します。


  1. Microsoft Dynamics CRM にサインインします。
  2. 取引先担当者を検索する高度な検索に移動し、勤務先電話番号 または 勤務先電話番号 2 が ”次の値と等しい” 条件で値にランダムな値(例:"111")の検索条件を作成します。


  1. Fetch XML のダウンロード をクリックし、FetchXML として検索条件を保存します。
  2. ナビゲーションで Microsoft Dynamics CRM  > 設定 > Unified Service Desk > ウィンドウ ナビゲーション ルール をクリックします。
  3. 新規 をクリックし、新規ウィンドウ ナビゲーション ルールページで次の値を指定します。











  1. ウィンドウナビゲーションルールを保存します。
  2. このルールに先ほど保存した FetchXML クエリを追加します。CTI 検索領域で追加 をクリックします。
  3. 新規 CTI 検索ページにて、以下の値を指定します。







<fetch version="1.0" output-format="xml-platform"
  mapping="logical" distinct="false">
  <entity name="contact">
    <attribute name="fullname" />
    <attribute name="parentcustomerid" />
    <attribute name="telephone1" />
    <attribute name="emailaddress1" />
    <attribute name="contactid" />
    <order attribute="fullname" descending="false" />
    <filter type="and">
      <condition attribute="statecode" operator="eq" value="0" />
      <filter type="or">
        <condition attribute="telephone1" operator="eq" value="[[ANI]]" />
        <condition attribute="business2" operator="eq" value="[[ANI]]" />

※Unified Service Desk CTI シミュレーターの ANI キーに指定された値を元に検索が実行されるように、電話番号 "111" のようなランダム値を  [[ANI]] のように変更します。



  1. CTI 検索ルールを保存し、ウィンドウナビゲーションルールに戻ります。
  2.  ウィンドウナビゲーションルール ページで次の値を指定します。










ナビゲーション バーの非表示




  1. ウィンドウナビゲーションルールを保存します。


ステップ4:CTI アダプターのテスト

  1. USD クライアント起動後、デバッガーコントロールを起動するために右上隅の歯車アイコン(設定)を選択し、 アイコンを選択してデバッガーの出力内容をクリアにします。


  1. USD CTI シミュレーターアプリケーションを起動し、ANI フィールドの値に検索する取引先担当者の有効な勤務先電話番号を指定します。Send To USD をクリックします。


  1. USD のセッションに、電話番号が一致した取引先担当者レコードが表示されます。


  1. CTI 検索の結果として発生したイベントをデバッガーのホストされたコントロールで確認できます。また、データパラメータータブにて、$Context 変数とcti 変数にてコンテキスト情報をチェックできます。



いかがでしたでしょうか。汎用リスナーアダプターを利用することで容易にスクリーンポップアップを実装することができます。今回利用した USD CTI シミュレーターは汎用リスナーアダプターの仕様に基づき、URL でパラメーターを渡しています。汎用リスナーアダプターの仕様の詳細は以下に記載されていますので、いろいろ試していただければと思います。
Use the generic listener adapter in Unified Service Desk

今回は比較的お問い合わせが多かった CTI 連携の仕組みをご紹介いたしましたが、拡張編は今後も定期的にご紹介していきたいと思います。

- 小澤 英紀

Microsoft Office 365 & Technical Certifications Guide

MSDN Blogs - Thu, 03/26/2015 - 19:00

With the Office 365 Summit in town next week. I thought I should do a blog post to provide a quick, comprehensive view of our Office certification landscape. I am hoping you can use this post to help you achieve your IT goals.



Microsoft Certified Solutions Associate / MCSA: Office 365

Note: Passing 70-346 & 70-347 exams achieves an MCSA certification.

EXAM 70-346 Managing Office 365 Identities and Requirements

Exam Topics:

  • Provision Office 365
  • Plan & Implement Networking & Security in Office 365
  • Manage Cloud Identities
  • Implement & Manage Identities by Using DirSync
  • Implement & Manage Federated Identities [single sign-on (SSO)]
  • Monitor & Troubleshoot Office 365 Availability & Usage

EXAM 70-347 Enabling Office 365 Services

Exam Topics:

  • Manage Clients & End-User Devices
  • Provision SharePoint Online Site Collections
  • Configure Exchange Online & Lync Online for End Users
  • Plan for Exchange Online & Lync Online



MCSD: SharePoint Applications

Note: Passing all four exams is required to achieve MCSD certification.

EXAM 70-480 Programming in HTML5 with JavaScript and CSS3

Exam Topics

  • Implement and Manipulate Document Structure and Objects
  • Implement Program Flow
  • Access and Secure Data
  • Use CSS3 in Applications



EXAM 70-486 Developing ASP.NET MVC Web Applications

Exam Topics

  • Design the Application Architecture
  • Design the User Experience
  • Develop the User Experience
  • Troubleshoot and Debug Web Applications
  • Design and Implement Security


EXAM 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions

Exam Topics

  • Plan and Design SharePoint Sites
  • Implement Authorization and Authentication
  • Access and Manage Data
  • Implement SharePoint Solutions
  • Implement the User Experience and Information Architecture
  • Create Business Processes
  • Create Office Applications


EXAM 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions

Exam Topics

  • Design and Implement Search
  • Implement Business Connectivity Services
  • Implement User Profiles and Customize Social Workload
  • Implement Enterprise Content Management and Web Content Management
  • Design for Performance and Troubleshooting
  • Implement Managed Metadata Service



Microsoft Certified Solutions Expert MCSE: Communications

Note: Passing both exams is required to achieve MCSE certification.

EXAM 70-336 Core Solutions of Microsoft Lync Server 2013

Exam Topics

  • Plan and Design a Lync Topology
  • Plan and Design Lync Features
  • Deploy and Configure Lync
  • Manage Operations and Data Resiliency for Lync


EXAM 70-337 Enterprise Voice and Online Services with Microsoft Lync Server 2013

  • Design Enterprise Voice
  • Design and Configure Network Services
  • Configure Enterprise Voice
  • Plan and Configure a Lync Online Hybrid Solution


Microsoft Certified Solutions Expert MCSE: Messaging

Note: Passing both exams is required to achieve MCSE certification

EXAM 70-341 Core Solutions of Microsoft Exchange Server 2013

Exam Topics

  • Plan, Install, Configure, and Manage Transport
  • Install, Configure, and Manage the Mailbox Role
  • Plan, Install, Configure, and Manage Client Access
  • Design and Manage an Exchange Infrastructure


EXAM 70-342 Advanced Solutions of Microsoft Exchange Server 2013

Exam Topics

  • Configure, Manage, and Migrate Unified Messaging
  • Design, Configure, and Manage Site Resiliency
  • Troubleshooting
  • Configure and Manage Compliance, Archiving, and Discovery Solutions
  • Implement and Manage Coexistence, Hybrid Scenarios, Migration, and Federation


Microsoft Certified Solutions Expert MCSE: SharePoint

Note: Passing both exams is required to achieve MCSE certification.

EXAM 70-331 Core Solutions of Microsoft SharePoint Server 2013

Exam Topics

  • Design a SharePoint Topology
  • Plan Security
  • Install and Configure SharePoint Farms
  • Create and Configure Web Applications and Site Collections
  • Maintain a Core SharePoint Environment


EXAM 70-332 Advanced Solutions of Microsoft SharePoint Server 2013

Exam Topics

  • Plan Business Continuity Management
  • Plan a SharePoint Environment
  • Upgrade and Migrate a SharePoint Environment
  • Create and Configure Service Applications
  • Manage SharePoint Solutions, BI, and Systems Integration


So this all the amazing exams you can site focusing on our Office Products. I hope this blog post has helped and I look forward to seeing you at the Office 365 Summit #sydneysummit on Monday.

Script to Perform Azure SQL Premium Failover

MSDN Blogs - Thu, 03/26/2015 - 18:25

Azure SQL Database includes a Premium Tier that allows active geo-replication with readable secondaries. I was asked put together a script to automate failover of the primary writable database to the secondary, making it the new primary.

I thought I would put it out here for those to which it may be useful.

Overall Procedure

After some research, it looked to me like the basic steps for ‘planned termination’ are:

1. Issue the following command to the primary to stop writes to it (set it read-only): ALTER DATABASE ‘database_name’ SET READ_ONLY

2. Use dm_operation_status DMV on both the primary and the online secondary to determine the status of transactions in progress

3. When the transaction pipe is clear, use Stop-AzureSqlDatabaseCopy to stop replication

4. Once replication is stopped, use Start-AzureSqlDatabaseCopy to restart in the opposite direction


1. The SQL Client tools installed on the machine the script is run from (SQL PowerShell extensions are required).

2. The SA user and password are the same on the primary and secondary servers. You can be change this by adding an additional parameter to the script to accept the secondary password.

3. You must execute Add-AzureAccount in your PowerShell session with credentials to the Azure subscription that contains the DB servers.

4. You use Select-AzureSubscription to make the subscription that contains the DB servers the current one current subscription.

Script Parameters


-UserName {Your server SA user}

-Password {Your server SA password}

-DatabaseName {Continuous copy DB name}

-NewPrimary {server name that you want to be the primary}

-NewSecondary {server name that you want to be secondary}

Sample command line

PS C:\Scripts> .\failover-AzureSqlDabaseCopy.ps1 -UserName mySA -Password xxxxxxx -DatabaseName LoadTest –NewPrimary r9foajwp82 -NewSecondary i91vi9wndw

The above will fail the LoadTest database on the current primary, i91vi9wndw, to the current secondary, r9foajwp82. The new primary will be r9foajwp82 and it will be placed in continuous copy relationship with i91vi9wndw as secondary.

Script Code

    [string] $UserName,
    [string] $Password,
    [string] $DatabaseName,
    [string] $NewPrimary,
    [string] $NewSecondary

function SetDBReadStatus {
    param ($server, $database, $readOnly)
    $query = 'alter database [' + $DatabaseName + '] set '
     if($readOnly) {
        $query += 'read_only'
    else {
        $query += 'read_write'

    ExecuteQuery $server $database $query


function ExecuteQuery {
    param($server, $database, $query)
    Write-Host $query
    $server += ''
    Invoke-SqlCmd -Query $query `
        -Database $database `
        -EncryptConnection `
        -ServerInstance $server `
        -Username $UserName `
        -Password $Password

function Failover {
    try {
        $roRollbackOK = $false

        Write-Host "Setting primary to Read Only"
        SetDBReadStatus $NewSecondary 'master' $true
        $roRollbackOK = $true
        Write-Host "Success - primary is Read Only"

        Write-Host "Waiting for pending transactions to clear"
        $query = "select count(*) as OpenTX from sys.dm_operation_status where major_resource_id='" + $DatabaseName + "' and state < 2"
        do {
            $txTest = ExecuteQuery $NewSecondary 'master' $query
            $txCount = $txTest.OpenTX

            $txTest = ExecuteQuery $NewPrimary 'master' $query
            $txCount += $txTest.OpenTX

            if($txCount > 0) { Start-Sleep -s 1 }

        } while($txCount > 0)

        Write-Host "Success - pending transactions cleared"

        Write-Host "Stopping continuous copy"
        Stop-AzureSqlDatabaseCopy -DatabaseName $DatabaseName `
            -ServerName $NewSecondary `
            -PartnerServer $NewPrimary
        Write-Host "Success - Continuous copy stopped"

        Write-Host "Dropping former primary"
        $query = 'drop database [' + $DatabaseName + ']'
        $txTest = ExecuteQuery $NewSecondary 'master' $query
        $roRollbackOK = $false
        Write-Host "Success - former primary dropped"

        Write-Host "Starting continuous copy, Primary=$NewPrimary, Secondary=$NewSecondary"
        Start-AzureSqlDatabaseCopy -DatabaseName $DatabaseName `
            -PartnerServer $NewSecondary `
            -ServerName $NewPrimary `
        Write-Host "Success - Failover complete"
    catch {
        $err = $true
        write-host "Caught an exception:" -ForegroundColor Red
        write-host "Exception Type: $($_.Exception.GetType().FullName)" -ForegroundColor Red
        write-host "Exception Message: $($_.Exception.Message)" -ForegroundColor Red

    if($err -and $roRollbackOK) {
        Write-Host "Setting primary back to Read/Write due to error"
        SetDBReadStatus $NewSecondary 'master' $false
        Write-Host "Success - primary is Read/Write"

$doFailover = $true
$copyStatus = Get-AzureSqlDatabaseCopy -ServerName $NewSecondary -DatabaseName $DatabaseName -PartnerServer $NewPrimary
if($copyStatus -ne $null) {
    if($copyStatus.SourceServerName -ne $NewSecondary) {
        $doFailover = $false
        Write-Host "$NewSecondary is not the current primary"

    if($copyStatus.DestinationServerName -ne $NewPrimary) {
        $doFailover = $false
         Write-Host "$NewPrimary is not the current secondary"

    if($copyStatus.SourceDatabaseName -ne $DatabaseName) {
         $doFailover = $false
        Write-Host "Database names do not match"

    if(!$copyStatus.IsContinuous) {
         $doFailover = $false
        Write-Host "Source, destination, and database name are not in a continuous copy relationship"
else {
    $doFailover = $false
    Write-Host "Error retrieving the current continuous copy relationship status"

if($doFailover) {

Why aren't you on Office 365 yet?

MSDN Blogs - Thu, 03/26/2015 - 17:56


For most canines, the term "eating your own dogfood" is often followed by salivation and the wagging of tails. Human responses aren’t normally quite so Pavlovian

But what if your dog food was more Wagyu Beef Tataki and less tinned-gelatinous-meat-substitute?

What if your Microsoft Partner Network (MPN) membership included dog food for not just you, but your whole team, your whole organisation?

(And what if "eating your own dogfood" meant; to use the technology you sell, deploy, develop for and deliver solutions on internally?)

If you're an Action Pack or (Silver / Gold) Competency member your membership includes Internal Use Rights (IUR) licences to run your business on the latest technology. So if you're not already on Office 365 (or any of the other Action Pack and Competency software entitlements) - my question to you is, why not? What have you got against Wagyu?



Aside from the efficiencies earned through running your business on the latest technology - be it a reduction in CAPEX / OPEX, the ability for internal dev and test or productivity gains for staff, Microsoft research has also shown that Partners who utilise their IUR sell approximately 3x larger deals than those who don’t. Concerned about your internal deployment? We’ve got you covered there too!



All Action Pack and Competency Partners are eligible for Office 365 IUR.

- Action Pack Partners that have sold at least 25 seats of Office 365 within the past twelve months can double their entitlement to ten seats.

- Competency Partners with the Small & Midmarket Cloud Solutions and/or Cloud Productivity Competencies are eligible for incremental seats in addition to the Core. Eg. A Silver Partner with both Small & Midmarket Cloud Solutions and Cloud Productivity will be eligible for the "core" 25 seat Silver entitlement, plus the 10 and 25 seat incremental entitlement from their competencies = 60 seats in total.

- Learn more about the Small & Midmarket Cloud Solutions, Cloud Productivity, Cloud Platform and Cloud Customer Relationship Management Competencies here (TIP: we've waived the Silver membership fee for all four. Offer expires June 30, 2015).



Partners have a wealth of options when it comes to support. IUR deployment is no different.

To get started, I recommend reviewing this easy how to guide, if your deployment is a little more tricky (or you'd like to take advantage of the FREE SkyKick for IUR offer, read on!


- SkyKick for IUR

  • As announced earlier this month, all Action Pack and Competency partners now have no-cost access to SkyKick’s Migration Suite (up to 500 seats), making your migration a breeze. Get started

- Advisory Hours

  • Action Pack Partners (after your first cloud sale) and all Competency Partners are eligible for Advisory Hours. Leverage the assistance of expert Microsoft Consultants and leave no stone unturned when planning and deploying your IUR. Submit a ticket online, email or call 13 16 30 (Options 2,2)

- Partner Support Community

- Regional Service Centre

  • Along with the Partner Support Community, the Regional Service Centre is the place to go for all Microsoft Partner Network support enquiries. Especially useful if you're experiencing difficulty accessing your benefits, attaining/renewing a competency or your incremental Action Pack or Competency seats are not visible. Call 13 20 58 (Options 2,4,1)


So what are you waiting for? Let's eat!



Looking to develop a cloud practice? Sign up for Cloud Champions 2.

Join the discussion in the Microsoft Australia Small Business Reseller LinkedIn Group or the Microsoft Australia MPN Yammer Community.

Need Support? Contact the Regional Service Centre on 13 20 58, Options 2,4,1 (Australian partners only) or visit the Partner Support Community.

Surface Pro 3 の 2015 年 3 月ファームウェア更新プログラムが公開: ビジネス向け機能が多数追加されました

MSDN Blogs - Thu, 03/26/2015 - 17:51

こんにちは。Surface 法人向けサポート担当の岩松です。


日本時間 3 月 27 日早朝(米国時間 3 月 26 日)、 Surface Pro 3 の最新ファームウェア更新プログラムが公開されました。

今回の更新は、Surface Pro UEFI ファームウェアのアップデートです。更新としては1件のみですが、改善点は多岐にわたります。


ビジネスユーザーのお客様からの貴重なフィードバックを踏まえ、 USB ドライブなどからの起動時に電源ボタンとボリュームボタン下の同時押しが不要になる、外部接続ポートの個別の有効・無効切り替え、UEFI設定のリモート管理などの機能改善を実施いたしました。




Microsoft Surface Pro 3 update history | Surface firmware updates

Surface Pro UEFI (v3.11.760.0) adds support for enterprise disk encryption, enhances the
advanced configuration settings for device security, and adds configurable support
from the Windows OS for provisioning scenarios.         


なお、Surface Pro 3 の開発チームによる解説も同時に公開されています。以下、それを引用しながら更新内容をご紹介します。 


UEFI ファームウェアの改善点の詳細:公式ブログの解説



Improvements to your Surface Pro 3 devices




I. Modifications to boot process: It is now possible to configure UEFI to allow the system to boot from alternate devices such as USB flash drives and PXE, without requiring Volume Down button to be pressed at boot time.

ボリュームボタン下と電源ボタンを同時押ししなくても、 UEFI の設定で USB メモリやPXE (ネットワーク)からのブートが可能になりました。



II.   Advanced device security capabilities: Many customers have asked for advanced device security capabilities. For example, education customers want the camera turned off so students can focus on their learning experience in class. To support such unique scenarios, customers can now selectively disable following hardware ports on the device.

- Side USB port

­- Docking ports

­- Front camera

­- Rear camera

­- On Board Audio

­- MicroSD card

­- Wi-Fi

­- Bluetooth

Customers can also choose to disable Boot from Network (PXE) capability.

UEFI 設定から、USB ポート、カメラなどのデバイスの有効・無効を個別に切り替えることができるようになります。たとえば、教育用にカメラ機能は不要といった場合にご利用いただけます。

また、PXE ブートを無効にすることもできます。


III. OS Configurable Settings: To help large enterprise customers support their provisioning scenarios, we have now added an interface to allow UEFI configuration settings to be managed remotely. In an upcoming update, we will be releasing a downloadable tool that commercial customers can use to configure UEFI settings on their devices.

大規模法人のお客様向けに、 UEFI 設定をリモートで行うことを許可するインターフェイスを追加します。今後、設定用ツールをダウンロード提供します。


IV. Surface Pro UEFI update (v3.11.760.0) improves customer experience while installing the firmware capsule updates.

- Improves performance of EFI applications such as 3rd party disk encryption software that  load before Windows.

­- Improves the reliability of the ESC key functions in pre-OS environments, such as Bitlocker Recovery screen.

­- Sometimes when the drivers would not load properly within Windows, the device would function well, but the driver would show a yellow mark in Device Manager. This would prevent the drivers from loading when trying to attach a cover or plug in a USB device. The update resolves this scenario.

サードパーティの暗号化ソフトウェアなど EFI を利用するアプリケーションのパフォーマンスを改善します。

OS 起動前の環境での ESC キーの機能の信頼性を改善します。

デバイスマネージャーで、 Surface Pro Touch Controller Firmware  に黄色い警告マークがつき、タイプカバーや USB 機器のデバイスドライバーが読み込まれなくなる現象を解決します。




現在、 Windows Update で配信中ですので、自動更新または手動更新で適用ください。「システム ファームウェアの更新 2015/03/26 」という名称の更新プログラムです。


また、社内で WSUS をご利用の法人のお客様につきましては、恐縮ながら、本ファームウェアは WSUS からは展開が行えません。つきましては、下記のページから ”Surface Pro3 – March” または “Surface Pro March 2015.msi” をダウンロードしてインストールしてください。(こちらは 3/27 時点ではまだ最新版ではありません。公開まで少々お待ちください)


Download Surface software, firmware, and drivers from Official Microsoft Download Center


上記の .msi 形式のインストーラーは、より簡便に更新プログラムを適用いただけるよう提供が開始されました。詳細は以下をご参照ください。


Surface Pro 3 MSI Now Available


Metra, Sullivan honored with All-Washington Academic Team Placement

SPSCC Posts & Announcements - Thu, 03/26/2015 - 16:31

South Puget Sound Community College students Brandon Metra and Courtney Sullivan will be honored at the 2015 All-Washington Academic Team ceremony on Thursday, March 26. Gov. Jay Inslee will be on hand to acknowledge recipients at the 20th annual ceremony, hosted by SPSCC. This year’s team consists of 65 students representing all the state’s 34 community and technical colleges. 

Brandon Metra

Brandon Metra, 20, moved around a lot as a child due to his father’s employment. Through multiple schools, a metal working class made an impression Metra wouldn’t soon forget. Now a welding student at South Puget Sound, Metra hopes to become a mechanical engineer after attaining his master’s degree in the field.

Courtney Sullivan

Courtney Sullivan, 19, knew she wanted to go to college and change the world. Illnesses as a child forced her to attend high school online, isolating her from peers and lowering her confidence in even attending college. After relocating to Washington state with her mom, Sullivan, 19, is healthy, happy and on the path to big career aspirations. Her ultimate goal is to one day join the U.S. Supreme Court.

The All-Washington program honors students who demonstrate a commitment to success in the classroom and service in their communities, and has become the showcase of the Washington community and technical college system. Phi Theta Kappa, TACTC, the Washington Association of Community and Technical Colleges, and the State Board for Community and Technical Colleges sponsor the event. For more information, contact Kellie Purce Braseth at (360) 596-5214 or visit

Posted Monday, March 16 at 4:08 p.m.

Clinician versus the machine. What it means to the future of clinical practice.

MSDN Blogs - Thu, 03/26/2015 - 14:49
No, this isn’t yet another post about the battle between physicians and the much-maligned intrusion of computers and electronic medical records into clinical practice. You might think that from the headline, but this post is about something far more insidious and disruptive. Last November, just after returning from the Exponential Medicine conference in San Diego, I shared my excitement about the advances taking place in machine learning, machine vision, and artificial intelligence. In a post a couple...(read more)

2015 All-Washington Academic Team Set To Be Honored

SPSCC Posts & Announcements - Thu, 03/26/2015 - 14:35

Governor Jay Inslee will be on hand to help honor recipients at the 20th annual 2015 All-Washington Academic Team recognition ceremony on Thursday, March 26. South Puget Sound Community College again hosts the event, which begins at noon at the college’s Student Union Building.

The field of honorees on this year’s All-Washington Academic Team consists of 65 students representing all the state’s 34 community and technical colleges. When the event began 20 years ago, 44 students from 24 community and technical colleges were honored.

Students were nominated for All-Washington recognition through a state program patterned after the national All-USA Academic Team, which Phi Theta Kappa (PTK), the international honor society for two-year colleges, initiated. The program acknowledges the students who demonstrate a commitment to success in the classroom and service in their communities.

Contributions from KeyBank will provide each team member with a $250 scholarship, and every public and nearly all independent four-year college and university in the state are offering scholarships to attend their institutions. The top-ranked student receives the New Century Scholarship, worth $2,000. The second-, third-, and fourth-ranked students be honored as Trustee Scholars and will each receive $1,000 scholarships from the Trustees Association of Community and Technical Colleges (TACTC). Washington State Employees Credit Union (WSECU) is offering additional $250 scholarships to eight team members. In addition, each team member is a state nominee for the All-USA Community College Academic Team, which will be announced in April.  

Along with PTK, the TACTC, the Washington Association of Community and Technical Colleges and the SBCTC sponsor the All-Washington program. For more information, contact Kellie Purce Braseth at (360) 596-5214 or visit

Posted Friday, March 13 at 2:34 p.m.

How to use a Shared User Certificate for HTTPS authentication in an Enterprise application.

MSDN Blogs - Thu, 03/26/2015 - 14:27

In Update 1 for Windows Phone 8.1, the ability to use the sharedUserCertificates capability was granted to Enterprise signed applications. The 'sharedUserCertificates' capability grants an application permission to access the certificates that the user has installed manually or that have been installed by an Enterprise MDM server, using SCEP protocol.

Developers who try to use a client certificate from the shared user certificate store may run into the problem that the selected client certificate does not get sent to the server in response to the server challenge.  Normally you specify the client certificate to use by setting the ClientCertificate property of the HttpBaseProtocolFilter a certificate obtained using CertificateStores.FindAllAsync, for example:

public static async Task<HttpClient> CreateHttpClientWithCertificate(string Thumbprint)
var thumbprintBytes = Thumbprint.StringToByteArray();

// get a reference to the certificate
var certQuery = new CertificateQuery()
Thumbprint = thumbprintBytes
var cert = (await CertificateStores.FindAllAsync(certQuery)).FirstOrDefault();

var filter = new HttpBaseProtocolFilter();
if (cert != null) // this should always be present, if not we'll get an auth error
filter.ClientCertificate = cert;

var client = new HttpClient(filter);
return client;

This will work if the certificate is stored in the applications local certificate store.

However, the security subsystem requires user confirmation before allowing access to a certificates private key of a certificate stored in the shared user certificates store.  To complicate matters, if a client certificate is specified in code then the lower level network functions assume the application has already taken care of this and will not prompt the user for confirmation.

If you look at the Windows Runtime classes related to certificates you won’t find any method to explicitly request access to the certificate private key, so what is the app developer to do?

The solution is to use the selected certificate to 'Sign' some small bit of data.  When an application calls CryptographicEngine.SignAsync, the underlying code requests access to the private key to do the signing at which point the user is asked if they want to allow the application to access the certificate private key.  Note that you must call 'Async' version of this function because the synchronous version of the function: Sign, uses an option that blocks the display of the confirmation dialog.

For example:


public static async Task<bool> VerifyCertificateKeyAccess(Certificate selectedCertificate)
bool VerifyResult = false; // default to access failure
CryptographicKey keyPair = await PersistedKeyProvider.OpenKeyPairFromCertificateAsync(
selectedCertificate, HashAlgorithmNames.Sha1,
String buffer = "Data to sign";
IBuffer Data = CryptographicBuffer.ConvertStringToBinary(buffer, BinaryStringEncoding.Utf16BE);

//sign the data by using the key
IBuffer Signed = await CryptographicEngine.SignAsync(keyPair, Data);
VerifyResult = CryptographicEngine.VerifySignature(keyPair, Data, Signed);
catch (Exception exp)
System.Diagnostics.Debug.WriteLine("Verification Failed. Exception Occurred : {0}", exp.Message);
// default result is false so drop through to exit.

return VerifyResult;
} You can then modify the earlier code example to call this function prior to using the client certificate in order to ensure the application has access to the certificate private key, like so:


public static async Task<HttpClient> CreateHttpClientWithCertificate(string Thumbprint)
var thumbprintBytes = Thumbprint.StringToByteArray();

// get a reference to the certificate
var certQuery = new CertificateQuery()
Thumbprint = thumbprintBytes
var cert = (await CertificateStores.FindAllAsync(certQuery)).FirstOrDefault();

var filter = new HttpBaseProtocolFilter();
if (cert != null) // this should always be present, if not we'll get an auth error
// verify access to the certificate private key,
// this will prompt the user if needed.
var verifyResult = await VerifyCertificateKeyAccess(cert);

filter.ClientCertificate = cert;

var client = new HttpClient(filter);
return client;

One final note regarding the behavior on Windows vs Windows Phone.  On Windows a dialog will be shown to the user when calling SignAsync and the user has the option to accept or reject along with a check box option to remember the user selection in future, after the application terminates and restarts.  On Windows Phone there is no actual user dialog shown, the application is automatically granted access but only for the current application session.  If the application terminates and is restarted then it must again go through this SignAsync operation to get access to the private key.

Don’t forget to Follow the Windows Store Developer Solutions team on Twitter @wsdevsol. Comments are welcome, both below and on twitter.

Support for another language

MSDN Blogs - Thu, 03/26/2015 - 13:39


Great news! French language support is now formally released. This is available for RAP as a Service for Active Directory, Exchange Server and SQL Server.


Try it out

Browse to the Premier Proactive Services website and sign in (registered users only). The website will auto-detect your language or you can click the globe icon in the footer and select your preferred language.

Strange error when using Start-CopyAzureStorageBlob

MSDN Blogs - Thu, 03/26/2015 - 12:44

Every so often you need to copy a bunch of blob data around in the cloud.  The Start-CopyAzureStorageBlob PowerShell cmdlet can be useful for kicking off that copying.  It returns an object you can use to poll on the status of the copy if you are copying large blobs that take a while.

While using Start-CopyAzureStorageBlob today I got this rather cryptic error message:

Start-CopyAzureStorageBlob : The remote server returned an error: (412) The condition specified using HTTP conditional header(s) is not met.. HTTP Status Code: 412 - HTTP Error Message: The condition specified using HTTP conditional header(s) is not met.

Quite perplexing as of course all the HTTP conditional headers are a layer of abstraction down from the PowerShell cmdlet.  Hey, don't look at me, I wasn't the one who created the HTTP headers!   :)

It turned out I was specifying the -force keyword, a holdover from an abandoned copy I had restarted.  After removing the -force keyword to the cmdlet invocation, I got a clearer error message:

Start-CopyAzureStorageBlob : The remote server returned an error: (409) Conflict. HTTP Status Code: 409 - HTTP Error Message: There is currently a pending copy operation.

I got this error because I already have a copy underway to copy the same blob to a different storage account.  Apparently you have to wait for the current copy of a blob to finish before you use it as a source for another copy operation.  Who knew? I guess I do now!   :)

Just another puzzling way blobs are different than files in a file system.


Troubleshooting Cluster Shared Volume Recovery Failure – System Event 5142

MSDN Blogs - Thu, 03/26/2015 - 11:56

In the last post we discussed event 5120, which indicates that Cluster Shared Volumes (CSV) observed and error and attempted to recover. In this post we will discuss cases when recovery does not succeed. When CSV recovery does not succeed, an Event 5142 is logged to the System event log.

Log Name:      System
Source:        Microsoft-Windows-FailoverClustering
Event ID:      5142
Task Category: Cluster Shared Volume
Level:         Error
Cluster Shared Volume 'Volume1' ('Cluster Disk 1') is no longer accessible from this cluster node because of error '(1460)'. Please troubleshoot this node's connectivity to the storage device and network connectivity.

In this post we will go over several possible root causes which may result in a 5142, and how to identify which issue are you hitting.

Cluster Service Failed

When the Cluster Service fails on a node, the Cluster Shared Volumes file system (CSVFS) will invalidate all file objects on all the volumes on that node. You may not see an event 5142 in this case because cluster may not have an opportunity to log it due to the service failed. You can find these cases by scanning Microsoft-Windows-FailoverClustering-CsvFs/Operational for the following sequence of events



The first 8960 event indicates that CSVFS is moving the volume to Init state and that DcmSequenceIs is empty, which means that this command did not come from the cluster service. CSVFS initiated this activity on its own

Log Name:      Microsoft-Windows-FailoverClustering-CsvFs/Operational
Source:        Microsoft-Windows-FailoverClustering-CsvFs-Diagnostic
Event ID:      8960
Task Category: Volume State Change Started
Level:         Information
Keywords:      Volume State
Volume {ca4ce06f-6b06-4405-b058-fd9d1cf869b3} transitioning from Init to Init.
Event Xml:
<Event xmlns="">
    <Data Name="Volume">0xffffe000badfb1b0</Data>
    <Data Name="VolumeId">{CA4CE06F-6B06-4405-B058-FD9D1CF869B3}</Data>
    <Data Name="CurrentState">0</Data>
    <Data Name="NewState">0</Data>
    <Data Name="DcmSequenceId">

Next 9216 event tells us that CSVFS successfully finished transition to Init state.

Log Name:      Microsoft-Windows-FailoverClustering-CsvFs/Operational
Source:        Microsoft-Windows-FailoverClustering-CsvFs-Diagnostic
Event ID:      9216
Task Category: Volume State Change Completed
Level:         Information
Keywords:      Volume State
Volume {ca4ce06f-6b06-4405-b058-fd9d1cf869b3} moved to state Init. Reason Transition to Init; Status 0x0.
Event Xml:
<Event xmlns="">
    <Data Name="Volume">0xffffe000badfb1b0</Data>
    <Data Name="VolumeId">{CA4CE06F-6B06-4405-B058-FD9D1CF869B3}</Data>
    <Data Name="State">0</Data>
    <Data Name="Source">8</Data>
    <Data Name="Status">0x0</Data>
    <Data Name="DcmSequenceId">

And finally an event 49152 is logged which provides details why this transitions was done, in this case because CSVFS observed that the Cluster Service is terminating.

Log Name:      Microsoft-Windows-FailoverClustering-CsvFs/Operational
Source:        Microsoft-Windows-FailoverClustering-CsvFs-Diagnostic
Event ID:      49152
Task Category: ClusterDisconnected
Level:         Information
Keywords:      ClusterServiceState
Cluster service disconnected.
Event Xml:
<Event xmlns="">
    <Data Name="FileObject">0xffffe000bab597c0</Data>
    <Data Name="ProcessId">0x1070</Data>

In the cluster logs every time cluster starts you will see a log statement which contains “--------------+” so you can look for the last statement from the previous cluster instance to see what was the last thing cluster service have been doing right before terminating.

Here is what was logged in the cluster log when I terminated Cluster Service:
00001070.000015e0::2014/10/23-00:12:29.885 DBG   [API] s_ApiOpenKey: "ServerForNFS\ReadConfig" failed with error 2

And then the ClusSvc was started again:
00000f10.00000fa4::2014/10/23-00:13:03.287 INFO  -----------------------------+ LOG BEGIN +-----------------------------

In the event that that it is unknown why the cluster service terminated, you can start reading cluster logs from this point back trying to understand why cluster service went down.

When cluster fails on one of the nodes it will cause CSV volumes on this node to go down. CSV volumes will stay up on the other nodes. If node with failed clussvc was the coordinator then CSV on the other nodes will be paused until cluster fails over and onlines disk on a surviving node.

Disk Failure or Offline

When cluster exhausts all restart attempts to online a disk after too many failed attempts or when user manually offlines the disk, cluster will move CSV volumes corresponding to this disk to the Init state.

For instance if you offline a disk using Failover Cluster Manager then in the Microsoft-Windows-FailoverClustering-CsvFs/Operational channel we would see following events


 Log Name:      Microsoft-Windows-FailoverClustering-CsvFs/Operational
Source:        Microsoft-Windows-FailoverClustering-CsvFs-Diagnostic
Event ID:      8960
Task Category: Volume State Change Started
Level:         Information
Keywords:      Volume State
Volume {ca4ce06f-6b06-4405-b058-fd9d1cf869b3} transitioning from Active to Init.
Event Xml:
<Event xmlns="">
    <Data Name="Volume">0xffffe000885581b0</Data>
    <Data Name="VolumeId">{CA4CE06F-6B06-4405-B058-FD9D1CF869B3}</Data>
    <Data Name="CurrentState">4</Data>
    <Data Name="NewState">0</Data>
    <Data Name="DcmSequenceId">&lt;1:60129542151&gt;&lt;60129542147&gt;</Data>


Log Name:      Microsoft-Windows-FailoverClustering-CsvFs/Operational
Source:        Microsoft-Windows-FailoverClustering-CsvFs-Diagnostic
Event ID:      9216
Task Category: Volume State Change Completed
Level:         Information
Keywords:      Volume State
Volume {ca4ce06f-6b06-4405-b058-fd9d1cf869b3} moved to state Init. Reson Transition to Init; Status 0x0.
Event Xml:
<Event xmlns="">
    <Data Name="Volume">0xffffe000885581b0</Data>
    <Data Name="VolumeId">{CA4CE06F-6B06-4405-B058-FD9D1CF869B3}</Data>
    <Data Name="State">0</Data>
    <Data Name="Source">8</Data>
    <Data Name="Status">0x0</Data>
    <Data Name="DcmSequenceId">&lt;1:60129542151&gt;&lt;60129542147&gt;</Data>

DcmSequenceId is not empty, so this means that the command came to CSVFS from the cluster. Using DcmSequenceId <1:60129542151><60129542147> you can correlate this to the place in the cluster log where cluster service initiated that state transition
[Verbose] 000004dc.00001668::2014/10/23-00:57:00.587 INFO  [DCM] FilterAgent: ChangeCsvFsState: uniqueId ca4ce06f-6b06-4405-b058-fd9d1cf869b3, state CsvFsVolumeStateInit, sequence <1:60129542151><60129542147>

And working from this point backwards I see that there was a manual offline of the disk
[Verbose] 000004dc.000012dc::2014/10/23-00:57:00.527 INFO  [RCM] rcm::RcmApi::OfflineResource: (Cluster Disk 3, 0)

If disk is failing then you will find in the cluster logs records about that and the reason for the failure.

Volume Is Failing Too Often

If cluster observes that a CSV volume on one of the nodes is failing too often, and is unable to stay without interruption in a good state for 5 minutes without running into auto pause then the volume will be taken down on that node. On the other nodes the volume will remain active. After several minutes cluster will attempt to revive the volume back to active state. In this case in the cluster logs you would see statements similar to this:
00000ab8.0000109c::2014/10/21-02:36:23.388 INFO  [DCM] UnmapPolicy::enter_CountingToBad(aec3c2e8-a7eb-45e9-9509-f63190659ba4): goodTimer P0...75, badTimer R0...150, badCounter 1 state CountingToBad

00000ab8.0000109c::2014/10/21-02:36:23.544 INFO  [DCM] CsvFs Listener: state [volume aec3c2e8-a7eb-45e9-9509-f63190659ba4, sequence <><145>, state CsvFsVolumeStateChangeFromInit->CsvFsVolumeStateInit, status 0x0]

And in the Microsoft-Windows-FailoverClustering-CsvFs/Operational you will see correlating events 8960 and 9216 with matching DcmSequenceId - <><145>. Note that first part of the sequence Id is empty. This is because the action is not global for all nodes, but is only for the current node. In general sequence format is:

<Id of the cluster node that initiated this action:Sequence number of action on the node that initiated this action><Sequence number of the action on the node where the action was executed >

Recovery Is Taking Too Long Disk Is Timing Out During Online

Once CSVFS completes a state transition it waits for the cluster to start the next one, but CSVFS will not wait indefinitely. Depending on the volume type and state CSVFS will wait from 1 to 10 minutes. For example with a snapshot volume CSVFS would wait for only 1 minute. For volume which has some dirty pages in the file system cache CSVFS would wait for 3 minutes. For a volume which has no dirty pages CSVFS would wait up to 10 minutes. If cluster does not start the next state transition in that time then CSVFS will move volume to Init state.

In the Microsoft-Windows-FailoverClustering-CsvFs/Operational you will see events 8960 and 9216 similar to the case when cluster service was terminated. DcmSequenceId will be empty because state change was initiated by CSVFS. You will NOT see event 49152 saying that cluster service has disconnected. In the cluster logs you will see a log record that volume went to Init state, and sequence number will be empty.
00000af0.00000f88::2014/10/17-06:37:58.325 INFO  [DCM] CsvFs Listener: state [volume aec3c2e8-a7eb-45e9-9509-f63190659ba4, sequence, state CsvFsVolumeStateChangeFromInit->CsvFsVolumeStateInit, status 0x0]

The next step is to find the node which owns the cluster Physical Disk resource at the moment of the failure and use cluster logs to try to identify why the disk online is taking so much time.

CSV State Transition Is Taking Too Long

This case is similar to the case above – CSV transitioned the volume to Init state because it timed out waiting for cluster to start next state transition. The reason why this happens may vary. In this case the disk may be staying online and healthy the whole time, but CSVFS on another node might take too long to finish its state transitions. The result will be similar, and events that you find in CSVFS logs and cluster logs will be similar


In this blog post we went over common reasons for the event 5142 when the Cluster Service fails to recover CSV, and you see your workloads failing. This blog post explained the sequences of events you will see in this case in the CSVFS operational channel, and how to correlate them with cluster logs.

Vladimir Petter
Principal Software Engineer
High-Availability & Storage

To learn more, here are others in the Cluster Shared Volume (CSV) blog series:

Cluster Shared Volume (CSV) Inside Out
Cluster Shared Volume Diagnostics

Cluster Shared Volume Performance Counters

Cluster Shared Volume Failure Handling

Troubleshooting Cluster Shared Volume Auto-Pauses – Event 5120

Announcing RemoteApp availability in Australia

MSDN Blogs - Thu, 03/26/2015 - 11:24

My name is Nihar Namjoshi from the Remote Desktop team. We made Azure RemoteApp generally available across thirteen Azure regions worldwide in December 2014. The response has been terrific in the regions we launched in, but we heard from customers that they really needed the ability to deploy Azure RemoteApp in Australia.

I’m happy to announce that as of today, RemoteApp is available in both Azure regions in Australia – Australia East and Australia Southeast. You can now create Azure RemoteApp collections in the full-featured 30-day Trial and in production mode in both regions.

We are excited to get our Australia and New Zealand customers on board!

If you have any feedback please send it our way via the Azure discussion forums. You can also submit feedback request on the Azure feedback site.

Visual Studio Upcoming Features Timeline

MSDN Blogs - Thu, 03/26/2015 - 11:00

Over the past few years, Visual Studio has been shipping products on a quicker cadence to ensure our customers have the best and most up-to-date tools in the industry. As part of this, we have been working to be more and more transparent to help you understand what we’re working on and show you how truly valuable your feedback is to the quality of our products. We generally share our plans with you via blogs or various feedback channels, like User Voice. Now we’re extending this transparency in an easy to consume format, to share some stuff we have in the works that we think you’ll be interested in. Starting today, Visual Studio is happy to share a feature timeline with you. As Brian announced a few months ago in his blog post A new Visual Studio Online and Team Foundation Server Features Timeline, the Visual Studio Online and Team Foundation Server teams have started doing this as well. We’ve gotten a really positive response from you and have decided to open this up across Visual Studio to share upcoming features we’re working on in the VS client.

The Visual Studio Feature Timeline gives a glimpse into what’s coming in future releases. Many of these items were pulled from your suggestions via UserVoice, as well as things we’ve shared in previous blogs and conferences. You won’t see dates on this timeline but you will see which VS release train we expect various languages and features to be part of. Of course, as we move on with future updates and major releases, you’ll start seeing us share features tied to these releases, as well. When we aren’t sure what release the in progress features will be in, we’ll list them as TBD. As with the VSO Timeline, some stuff may get cancelled or change along the way and we’ll do our best to communicate that to you as soon as possible.

As always, your feedback helps us do better and we’d love to hear what you think in the comments.



Megan Yount, Program Manager, Visual Studio Customer and Feedback Team

Megan Yount has been at Microsoft for 3 years, working as a release manager to get awesome Visual Studio products into the hands of eager developers. She’s currently working on the customer and feedback team where she’s focused on making the latest, greatest Visual Studio products and content easy to find, understand, and download.

Windows 10 kemur á markað í sumar í 190 löndum á 111 tungumálum

MSDN Blogs - Thu, 03/26/2015 - 10:20

Margir hafa beðið með óþreyju eftir nýjasta stýrikerfinu frá Microsoft, Windows 10. Þeir hörðustu hafa þegar náð sér í forútgáfu stýrikerfisins og gert að því góðan róm. Nú hefur verið tilkynnt að Windows 10 kemur á markað í sumar og verður fáanlegt í 190 löndum og á 111 mismunandi tungumálum.

Fyrir þá sem nota þegar stýrikerfin Windows 8 eða 8.1 og Windows 7 verður uppfærsla í Windows 10 ókeypis fyrsta árið eftir að það kemur á markað.

Hér má lesa nánar um þær nýjungar sem verður að finna í Windows 10.

Culture Settings on NAV Web Services

MSDN Blogs - Thu, 03/26/2015 - 10:00

We live in a world of global interaction, and this is reflected in the software that we use at work and at home. As expected this culture differences brings also more complexity and one more extra care for our development side. For instance, a Germany company that is now expanding its business to USA do need to take care of the cultural differences present on our system as date formats, number formats, and so on. Since in Germany we do for instance use the date as DD/MM/YY and in USA MM/DD/YY, we do have an issue when integrating those two systems.

So for such cases, in Microsoft Dynamics NAV 2013, Microsoft Dynamics NAV 2013 R2, and Microsoft Dynamics NAV 2015, you can set up the cultural settings so that our Microsoft Dynamics NAV system understands how to “translate” culture-specific data when exchanging data between the two countries.

Here below I show an example of how to configure and use Microsoft Dynamics NAV web services on different cultural environments (as I explained before I did this using the example of Germany and USA culture settings).

First lets discuss the necessary setup in Microsoft Dynamics NAV:

  1. In the CustomSettings.config file for the relevant Microsoft Dynamics NAV Server instance, add the following key:
    <add key="ServicesCultureDefaultUserPersonalization" value="true"/>
  2. Make sure that the server where our middletier (the Microsoft Dynamics NAV Server instance) is running has the right regional settings.  

    Please do use the standard format Additional settings such as Decimal, and so on. 
  3. Finally, in the Microsoft Dynamics NAV client, on the Personalization Card, set the relevant language for the Microsoft Dynamics NAV Server user  - in this example Language ID 1031 for German.

For more information, see the Web Services and Regional Settings section here: .

This finishes the setup part. Now we need to be sure that our VB application is using the correct code to “translate” the input date into the correct format when using Microsoft Dynamics NAV web services. This will indicates to our Microsoft Dynamics NAV Server how we do want to insert the date in our NAV database.

For this example I will take the Date and Decimal from our C# application project and convert them to pass the Data to Web Services that will finally “insert” it into our NAV System.
As for my setup in Microsoft Dynamics NAV, for this example I'm using the German language/cultural settings. In this example, I create a table and a page called WebServicesCultureTable and WebServicesCulturePage.


The page displays the following fields from the table:

Actually we will only use now the CultureCode ( the primary key), CultureDate that we will use to set the Date, and finally the CultureDecimal that we will use to check if the decimals are been passed correctly.

In the Visual Studio, in my C# project, I have created an application that can be used to insert the desired values for test.
So there I will use my web services to “pass” to Microsoft Dynamics NAV the date 11-08-15 (with the format) and the decimal 33.73M (we need this M so that C# understands that this is a decimal number). This class refers to a button in my C# application, but it resumes the necessary setting up for the Culture format that we need to use in order to our Web Server to understand correct the formats.

        private void button3_Click(object sender, EventArgs e)


            NavOData.NAV nav = new NavOData.NAV(new Uri("http://localhost:7148/DynamicsNAV71/OData/Company('CRONUS%20AG')"));

            //Here define the companies, if need set a new company

            nav.Credentials = CredentialCache.DefaultNetworkCredentials;


            //Cultural Setting to Use on Date/Decimal

            System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de-DE");

            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");


            //Converting Cultural Date

            String TESTDate = "11-08-15";

            DateTime finalDate = DateTime.ParseExact(TESTDate, "DD-MM-YY", CultureInfo.CurrentCulture);


           //Converting Cultural Decimal

           decimal DecimalTEST = 33.73M;

           System.Convert.ToDecimal(DecimalTEST, new System.Globalization.CultureInfo("de-DE"));


            var WebServicesCultureTable = new NavOData.WebServicesCulturePage


                //Here we can create new rows

                CultureCode = "DE",

                CultureDate = finalDate,

                CultureDecimal = DecimalTEST,





Finally I inserted manually direct on the page the following test:

Then using my new button3 = Insert, I inserted the values to test on the web service side.

There you go: the culture personalization does works as desired!

Bonus info: This test I did using Microsoft Dynamics NAV 2013 R2 Cumulative Update 6 (build # 39665), but this functionality has been available since Microsoft Dynamics NAV 2013 Cumulative Update 9, and is also working as it should in Microsoft Dynamics NAV 2013 R2 and Microsoft Dynamics NAV 2015.


Best Regards,

Daniel De Castro Santos Silva 

Microsoft Dynamics NAV Support Engineer

Daftar Pemenang Imagine Cup 2015 Indonesia

MSDN Blogs - Thu, 03/26/2015 - 09:27

Terima kasih kepada para finalis Imagine Cup 2015 Indonesia yang telah mempresentasikan karya mereka di Final Imagine Cup 2015 Indonesia tanggal 26 Maret 2015 di Gandaria City, Jakarta. Selain melakukan presentasi di depan dewan juri, para finalis juga menunjukkan karya mereka di booth finalis yang dapat dilihat oleh umum.

Terima kasih juga kepada para juri final yang telah memberikan kontribusi luar biasa dalam program Imagine Cup 2015 Indonesia. Semoga semua usaha kita akan memajukan industri Teknologi Informasi di Indonesia dengan mendorong inovasi dan kewirausahaan di kalangan pelajar dan mahasiswa.

Dewan juri telah memutuskan para pemenang Imagine Cup 2015 Indonesia seperti yang tercantum di bawah ini. Para pemenang akan kembali dihubungi oleh Microsoft Indonesia untuk mempersiapkan keikutsertaan mereka di Imagine Cup 2015 World Semi-Final. Selamat kepada para pemenang!


Kompetisi Tim Proyek Institusi World Citizenship ALIX Bantu Anak Asuh Universitas Komputer Indonesia (UNIKOM), Bandung Innovation Dodo Project Dodo Kids Browser Universitas Komputer Indonesia (UNIKOM), Bandung Games Urban Studio Help Me Up Universitas Trunojoyo Madura (UTM), Bangkalan

Updated ASP.NET AJAX Control Toolkit

MSDN Blogs - Thu, 03/26/2015 - 08:30

If you use the ASP.NET AJAX Control Toolkit, you know that our long-time Visual Studio partner DevExpress maintains it, and that it’s free and open-source. Recently they released an updated and improved ASP.NET AJAX Control Toolkit. You can download this new version here:

In a short time that they have taken over the project, they have fixed the most glaring issues along with a number of other changes to make the Toolkit a solid library to have in your ASP.NET application.

What's New

The new release includes:

  • Stable and working controls. We addressed multiple major tracked bugs to ensure a more stable Control Toolkit.
  • Modern browser support. Previous versions of the ASP.NET AJAX Control Toolkit did not work well in all browsers. With this release the ASP.NET AJAX Control Toolkit works with all popular HTML5 browsers.
  • Support for Visual Studio 2013 Web Forms templates. The Control toolkit now works seamlessly with the Web Forms templates. You can use the Bootstrap support that was added to the templates, and use the Toolkit with Bootstrap.
  • ASP.NET Web Optimization framework support. You can use the bundling and minification feature of ASP.NET with the toolkit. Check out ASP.NET Web Optimization framework to learn more.
  • Dependency cleanup. The AjaxControl Toolkit is factored in a way to only bring in necessary libraries. As a result, it will no longer bring in libraries like AjaxMin, HtmlAgilityPack, or WindowsAzure Storage. All third-party package functionality is extracted to separate packages (ASP.NET AJAX Control Toolkit.StaticResources, ASP.NET AJAX Control Toolkit.HtmlEditor.Sanitizer) which are available as NuGet Packages.
  • A great new installer. The new installation experience integrates seamlessly with Visual Studio and registers the Control Toolkit components into the Toolbox.

There's a full list of what's new in the v15.1 release available here: What's New in v15.1

Read this blog post by DevExpress on the AJAX Control Toolkit for more details on the release, how to upgrade, and report issues. You can file bug reports, make feature suggestions and review the source code online at: and get the latest version of the ASP.NET AJAX Control Toolkit (DevExpress Edition) from their website:

Pranav Rastogi, Program Manager, ASP.NET and Azure.

Pranav works on ASP.NET and Azure in Microsoft. Pranav holds a MS degree from University of Florida and is a co-author of Professional ASP.NET 4.5 in C# and VB. As an adventure seeker, he travels a lot and can also be found backpacking. You can find him on Twitter at @rustd

BREAKPOINT: The Power of the Manual Tester and How Visual Studio Makes You Even Better

MSDN Blogs - Thu, 03/26/2015 - 08:21

When you ask people that build software what some of the common tasks are, a large majority of responses include the word "testing".  Testing is IMPORTANT and every software project needs it.  In fact, the sooner testing is introduced into the lifecycle, the more effective it is.  On this episode of Breakpoint, Jonathan and Paul discuss the art of Manual Testing.  Paul reviews the different strategies you can implement within your software project, how to integrate manual testing into your software, and when manual testers should be involved.  See how the Visual Studio suite of manual testing tools make this job very easy for testers as well as how these tools you can leverage the data from your test runs to gain insights on how healthy your project is.


Have Questions for Paul and Jonathan?

While watching the episode, post your comments below, tweet your question to @cdndevs with the hashtag #breakpointca, post your question on the Microsoft Developer Facebook wall, or start a new conversation in the Canadian Developer Connection group on LinkedIn.


Subscribe to Randy Riness @ SPSCC aggregator
Drupal 7 Appliance - Powered by TurnKey Linux