GD Bloggers

This is the blog site for Microsoft Global Delivery Communities focused in sharing the technical knowledge about devices, apps and cloud.
Follow Us On Twitter! Subscribe To Our Blog! Contact Us

March, 2011

  • SharePoint Workflow Error: This task is currently locked by a running workflow and cannot be edited

    Many times you were developing a Visual Studio workflow for SharePoint. You simply create a task using the "CreateTask" activity. After a while, you need to update the task and you do not have a valid correlation token to use the "UpdateTask" activity, for example, because you are creating a task inside a replicator (I will blog about this later). for example, inside your workflow you write...

    SPListItem item = workflowProperties.TaskList.Items.GetItemById(id)
    item["Status"] = "Completed";
    item.SystemUpdate();

    The last line will give you error "This task is currently locked by a running workflow and cannot be edited", a possible work around for this issue, is to ensure that the workflow version number of the task is 1 before you update. Your code should look like the following...

    SPListItem item = workflowProperties.TaskList.Items.GetItemById(id)
    item["Status"] = "Completed";
    item[SPBuiltInFieldId.WorkflowVersion] = 1;
    item.SystemUpdate();

    Happy Coding:)

  • SCVMM 2012 Beta Available Now

    you can download it from the following link:

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e0fbb298-8f02-47e7-88be-0614bc44ee32

    Feature Summary

    • Fabric Management
      • Hyper-V and Cluster Lifecycle Management – Deploy Hyper-V to bare metal server, create Hyper-V clusters, orchestrate patching of a Hyper-V Cluster
      • Third Party Virtualization Platforms - Add and Manage Citrix XenServer and VMware ESX Hosts and Clusters
      • Network Management – Manage IP Address Pools, MAC Address Pools and Load Balancers
      • Storage Management – Classify storage, Manage Storage Pools and LUNs
    • Resource Optimization
      • Dynamic Optimization – proactively balance the load of VMs across a cluster
      • Power Optimization – schedule power savings to use the right number of hosts to run your workloads – power the rest off until they are needed
      • PRO – integrate with System Center Operations Manager to respond to application-level performance monitors
    • Cloud Management
      • Abstract server, network and storage resources into private clouds
      • Delegate access to private clouds with control of capacity, capabilities and user quotas
      • Enable self-service usage for application administrator to author, deploy, manage and decommission applications in the private cloud
    • Service Lifecycle Management
      • Define service templates to create sets of connected virtual machines, os images and applica tion packages
      • Compose operating system images and applications during service deployment
      • Scale out the number of virtual machines in a service
      • Service performance and health monitoring integrated with System Center Operations Manager
      • Decouple OS image and application updates through image-based servicing
      • Leverage powerful application virtualization technologies such as Server App-V

    System Requirements


    • Supported Operating Systems:Windows 7 Enterprise;Windows 7 Professional;Windows 7 Ultimate;Windows Server 2008 R2;Windows Server 2008 R2 Datacenter;Windows Server 2008 R2 Enterprise
    •  
      • Windows Server 2008 R2 (full installation) Standard, Enterprise, Datacenter x64
      • Windows 7 Professional, Enterprise, Ultimate x32, x64
      • Windows Remote Management (WinRM) 2.0
      • Windows PowerShell 2.0
      • Microsoft .NET Framework 3.5 Service Pack 1 (SP1)
      • Windows Automated Installation Kit (AIK) for Windows 7
      • SQL Server 2008 or SQL Server 2008 R2 Standard, Enterprise, and Datacenter
      • Windows Deployment Services (WDS) – (Version on Windows Server 2008 R2)
      • Windows Software Update Services (WSUS) 3.0 SP2 64bit
  • IE 9 is available for Download

    IE 9 is now available to download from here: http://windows.microsoft.com/en-US/internet-explorer/products/ie/home 

    This short video gives you a small sense of what we have been able to achieve as a company with the IE9 release.  To learn more about what’s in IE9, and to start experiencing a more beautiful web please visit: http://beautyoftheweb.com.

    Here are 9 facts about IE9:

    1. IE9 is the fastest adopted beta in IE browser history.  With over 40M downloads and a usage share on Windows 7 well over 2% globally, IE9 adoption has more than surpassed expectations.

    2. IE9 is enterprise ready.  IE9 has the highest LOB compatibility pass rate of any product in MSIT dogfood history –  99% – coupled with one of the lowest IE helpdesk contact rates (number of helpdesk calls/number of installs) to date.  And for our customers, IE9 is ready to go with their Windows 7 deployments.

    3. IE9 has the fastest JavaScript engine in the industry.  Script is one of many factors in performance. On a commonly used micro-benchmark, IE9’s improved JavaScript performance now holds the top spot in the industry, an improvement of almost 18 times from IE8.

    4. IE9 is the only fully hardware-accelerated browser.  All graphics, video and text in IE9 are hardware-accelerated.  We re-architected IE9 to take full advantage of the Windows PC.  IE9 was the first to introduce this concept and other browsers have been scrambling to catch-up.  See the difference for yourself.

    5. IE9 treats your favorite sites like apps.  The site is the center of attention in IE9’s new frame.  When you pin a site to the taskbar, your experience is even better.  Over 250 of the world’s top sites have already taken advantage of Jump Lists, notifications, and thumbnail previews to make their sites more app-like.  Web site publishers are seeing close to a 50% increase in engagement from their IE9 customers through pinned sites. 

    6. IE9 protects against 99% of socially-engineered malware.  Malware is the #1 threat on the internet today.  With Microsoft SmartScreen and the new SmartScreen application reputation feature in IE9, no other browser comes close in protecting consumers from these real-world threats.  IE9 is 33 times better than Chrome and over 5 times better than Firefox. 

    7. IE9 is the only browser with integrated online tracking protection for consumers.   Microsoft changed the browser and industry landscape with the introduction of IE9’s Tracking Protection, providing the only built-in browser solution protecting consumers today.

    8. IE9 is leading with site-ready HTML5 support.  IE9 is all in when it comes to delivering developers new standards-based capabilities with HTML5.   Microsoft co-chairs the W3C HTML5 working group and during the IE9 release has contributed almost 6000 test cases to the W3C and international standards bodies.  Currently, IE9 has the best conformance with W3C HTML5.

    9. IE9 has had the strongest press in IE history:   Here is a small sample of what reviewers are saying:

    clip_image001

    Enjoy Smile

  • Upgrading Legacy Email Address Policy

    The Set-EmailAddressPolicy cmdlet is needed for this.

    Open the Exchange Management Shell and enter the following command:

    Get-EmailAddressPolicy | where {$_.RecipientFilterType –eq “Legacy”}

    This will show a list of Recipient Policies that are available in your Exchange organization. We can use this output by piping it into the Set-EmailAddressPolicy cmdlet:

    Get-EmailAddressPolicy | where {$_.RecipientFilterType –eq “Legacy”} |
    Set-EmailAddressPolicy –IncludedRecipients AllRecipients

     

    The Recipient Policies are now converted you can open them in the Exchange Management Console. Please note that the examples mentioned above are pretty simple policies. If you have more complex policies please test this thoroughly. If you have any Mailbox Manager policies, these have to be removed.

  • Exchange Team Blog Moved to TechNet

    It was announced that this week Exchange Team Blog was moved to TechNet, the new URL is: http://blogs.technet.com/exchange.

    • All posts and comments have been migrated from the old blog
    • DNS redirects will begin to redirect http://msexchangeteam.com to http://blogs.technet.com/b/exchange, which can also be accessed using (a shorter URL) http://blogs.technet.com/exchange.
    • Links to old posts with msexchangeteam.com url will continue to work and redirect to the correct post page on the new blog.
    • Old RSS feeds will automatically redirect and continue to work, but we’d rather you update your RSS readers with the new feed(s)
  • March Update for Visual Studio 2010 and .NET Framework 4 Training Course Just Released

     

    Hello Everyone,

    Microsoft just released the March update for the VS 2010 and .Net 4.0 Training Kit. It includes Videos, Hands-on-Labs for: C# 4.0, Visual Basic 10, F#, ASP.NET 4, parallel computing, WCF, Windows Workflow, WPF, Silverlight and Windows Azure. The kit now contains 50 labs, 22 demos, 16 presentations and 12 videos.

    For Windows Azure, there are two new Labs (Introduction and Debugging Application), two new Demo script for Hello Windows Azure Application and Deploying Windows Azure Services, One new presentation for Platform Overview and a new Video for What is Windows Azure.

    For Silverlight, there are new Hands on Lab for Migrating Windows Forms / ASP.Net Web Forms Applications to Silverlight, Working with Panels, XAML and Controls, Silverlight Data Binding, Migrating Existing Applications to Out-of-Browser, Great UX with Blend, Web Services and Silverlight, Using WCF RIA Services, Deep Dive into Out of Browser and Using the MVVM Pattern in Silverlight Applications

    You can download it or browse the HOLs. 

    Enjoy learning Smile

  • Exchange 2010 SP1 Hosting – Part 3 “Hosting Setup”

    I gave an overview about Exchange 2010 SP1 Hosting in this post Exchange 2010 SP1 Hosting – Part 1 “Overview” and then I went through Hosting Description in this post Exchange 2010 SP1 Hosting – Part -2 “Hosting Description” , in this post I will go through the Hosting Deployment procedure including setup requirements.

    • Active Directory Requirements

    Before Installing Hosted Exchange Server 2010, you should make sure that server has been joined to the network and that it meets the following Active Directory requirements:

    Schema Master

    Active Directory Schema Master required to be installed on Windows 2008 SP2 & above or Windows 2008 R2.

    Forest Functional Level

    The Active Directory forest functional level must be at least Windows 2008.

    Global Catalog Server & Domain Controllers

    Domain Controllers must be running Windows 2008 SP2 & above or Windows 2008 R2.

    Domain Functional Level

    Domain Functional Level needs to be configured as “Windows 2008” mode.

    RODC / GC

    Hosting Exchange Server 2010 does not support use of RODC or RODC Global Catalog Servers; however Hosting Exchange Server 2010 will function in environment that include RODC DCs or RODC GC Servers, as long as writable DCs are available.

    Preparing AD Domain and Forest

    AD Preparation is done during setup by extending the AD to support Hosting Exchange Server 2010; administrator can prepare AD before Exchange setup by running a series of setup command as the following:

    1. Setup /PrepareSchema /hosting

    2. Setup /PrepareAD /Organizationname: [Organization Name] /hosting

    3. Setup /PrepareDomain /hosting

    • Installing Hosting Exchange 2010 Prerequisites

    Before running the Hosting Exchange Server 2010 setup program, verify that the following software has been installed on the computer that will be running Hosting Exchange Server 2010; these requirements are based on the normal core requirements for all Exchange Servers Roles, and as know Exchange 2010 prerequisites are different if we implement Exchange 2010 on Windows 2008 SP2 from Implement it on Windows 2008 R2, in this post I will consider using Windows 2008 R2:

    1. From Windows PowerShell run the following command “Import-Module ServerManager” and press Enter.

    2. User Add-WindowsFeature cmdlet to enable O.S. components as the following depend on which Exchange 2010 role you are going to install:

    a. For a typical installation of CAS, Hub, and MBX role:

    Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy

    b. For CAS role only:

    Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy

    c. For Hub or MBX:

    Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server

    3. Restart the computer.

    • Hosting Exchange Server 2010 Installation

    Running Hosting setup via command line is the only method available to install Hosting Exchange Server 2010; the steps to implement single Hosting Exchange Server 2010 (Considering that AD Preparations are already done as above) will be as the following:

    1. Install all the required Hotfixes as the following:

    Install hotfix Microsoft Knowledge Base article 982867 from http://code.msdn.microsoft.com/KB982867

    Update described in Microsoft Knowledge Base article 979744 http://go.microsoft.com/fwlink/?linkid=3052&kbid=979744

    Install hotfix Microsoft Knowledge Base article 983440 from http://code.msdn.microsoft.com/KB983440

    Update described in Microsoft Knowledge Base article 977020 http://support.microsoft.com/kb/977020

    Update described in Microsoft Knowledge Base article 979099 http://support.microsoft.com/?kbid=979099

    2. Restart the computer.

    3. From a cmdlet pointing to Exchange 2010 SP1 DVD path and rune the following command “Setup.com /mode:install /role:M, CA, HT /hosting”.

    4. Restart the computer.

    In next post I will go through Exchange 2010 Hosting Multi-tenant overview.

    Related Posts:

  • Are you experiencing degraded overall performance on a Windows Server 2008 R2?

    Are you experiencing degraded overall performance on a Windows Server 2008 R2?

    If the answer is yes then you might need to fine Tune Windows 2008 R2 power options. As per Microsoft KB article 2207548 " In some cases you may experience degraded overall performance on a Windows Server 2008 R2 machine when running with the default (Balanced) power plan. The issue may occur irrespective of platform and may be exhibited on both native and virtual environments. The degraded performance may increase the average response time for some tasks and cause performance issues with CPU-intensive applications"

    Kindly refer to the below article for more details

    http://support.microsoft.com/kb/2207548

  • Migrate users from forms based authentication to SharePoint 2010 claim based

    During migration from SharePoint 2007 to 2010 you will need to migrate the users as well. the most "unclear" part is how to migrate Forms based users to claim based authentication. The internal names stored in SharePoint are different so you will be unable to use the old names and passwords to login unless you migrate. ASP .Net users use the format "providername:username" while the claim based authentication uses the format "i:0#.f|providername|username".

    After setting-up your web application and finalize the configuration, run the following powershell script. I highlighted where you will need to change certain strings to correctly work in your environment...

    #here, you will need to change the URL to that new portal, old provider name and new provider name
    $url ="http://myformsbasedportal.com"

    $oldprovidername = "myoldprovidername"

    $newprovidername = "mynewprovidername"

    # get all users in the site, this includes iwindows users
    $users = get-spuser -web $url -Limit ALL

    foreach($useriteration in $users)
    {
         $a=@()
         $userlogin = $useriteration.UserLogin

        # Skip if the user login contains "\" for windows users, and skip also if the user  login starts with "i:0#.f|" which is either new user or already migrated
        if( $userlogin.StartsWith("i:0#.f|") -or $userlogin.Contains("\") -or $userlogin.Contains("|") )
        {
              continue;
        } 

        # get the user login name
        $a = $userlogin.split(":")
        $username = $a[1] 
     
        # perform the actual migration by getting the user and Move the user
        $user = Get-SPUser -web "$url" -Identity "$oldprovidername:$username"
        Move-SPUser -IgnoreSID -Confirm:$false -Identity $user -NewAlias "i:0#.f|$newprovidername|$username"

        # Log
        Write-Host "converted user kacstmp:$username to i:0#.f|$newprovidername|$username"

    }

     

     

  • Zero Touch Implementation with Configuration Manager 2007 R3 – Part3

    In my previous article Zero Touch Implementation with Configuration Manager 2007 R3 – part2, we went over the required configuration for ZTI. We also installed and configured MDT integration with Configuration Manager.

    Throughout this article, we will build and capture a reference image to be used later for production deployment.

    Before starting with the package creation that we will build later for our reference image, let us add and configure an authoring rule in WebDAV.

    For that, expand Server Manager, expand Roles, and expand Internet Information Services. From the Internet Information Services (IIS) Manager pane, expand Default Web Site, and double click WebDAV

    clip_image002

    Click Enable WebDAV, and click Add Authoring Rule…

    Under Allow access to this content to: select All Users, and under the Permissions check Read, and click OK

    clip_image002[4]

    From the WebDAV Authoring Rules page, click WebDAV Settings. Under the Property Behavior section, select True on the Allow Anonymous Property Queries, select False on the Allow Custom Properties, select True on the Allow Property Queries with Infinite, and select False on the Allow Hidden Files to be Listed

     clip_image002[6]

    At this point, we need to create packages for our Reference Image. For that, we will be creating packages for the User State Migration Tool (USMT), the Configuration Manager Client Agent, and the WinPE 3.0 (x86 and x64).

    Expand Software Distribution, right click Packages, and select New Package. On the New Package Wizard, and on the General page, fill the information as shown in the below figure, and click Next

    clip_image001

    On the Data Source page, check This package contains source files, click Set and browse to USMT folder

    clip_image001[4]

    For the remaining pages, click Next and accept all the default settings.

    To update the distribution point, expand Packages, expand USMT package, right click Distribution Points, and click New Distribution Points. On the Welcome page click Next, on the Copy Package page select the distribution point, click Next and Close

    clip_image001[1]

    To create the Configuration Manager Client Agent, expand Software Distribution, right click Packages, and select New Package. On the New Package Wizard, and on the General page, fill the information as shown in the below figure, and click Next

    clip_image001[1]

    On the Data Source page, check This package contains source files, click Set and browse to Client folder

    clip_image001[3]

    For the remaining pages, click Next and accept all the default settings.

    To create a Program for the Configuration Manager Client Agent, expand the package, right click Programs and select New Program. On the General page, fill the information as shown in the below figure, and click Next twice

    clip_image001[5]

    On the Environment page, select the option “Whether or not a user is logged on

    clip_image001[7]

    For the remaining pages, click Next and accept all the default settings.

    To update the distribution point, expand the Configuration Manager Client package, right click Distribution Points, and click New Distribution Points.

    On the Welcome page, click Next, and on the Copy Package check the distribution point, click Next and Close

    clip_image001[9]

    For WinPE images, we will have to create a package for x86 platform and a second one for x64 platform.

    To create an x86 WinPE image, expand Operating System Deployment, right click Boot Images and select Create Boot Image using Microsoft Deployment. On the package source page, specify the UNC path for the package source, and click Next

    clip_image001[11]

    On the General Settings page, fill in the information and click Next.

    On the Image Options page, select the x86 platform, and click Next

    clip_image001[13]

    On the Summary page, click Next to start generating the WinPE x86 boot image.

    To update the boot image to the PXE distribution point, expand Operating System Deployment, expand Boot Images, expand WinPE3.0 x86, right click Distribution Points, and click New Distribution Points.

    On the Welcome page, click Next, and on the Copy Package page select the PXE distribution point

    clip_image001[15]

    Click Next and Close.

    To create an x64 WinPE image, expand Operating System Deployment, right click Boot Images and select Create Boot Image using Microsoft Deployment. On the package source page, specify the UNC path for the package source, and click Next

    clip_image001[17]

    On the General Settings page, fill in the information and click Next.

    On the Image Options page, select the x64 platform, and click Next

    clip_image001[19]

    On the Summary page, click Next to start generating the WinPE x64 boot image.

    To update the boot image to the PXE distribution point, expand Operating System Deployment, expand Boot Images, expand WinPE3.0 x86, right click Distribution Points, and click New Distribution Points.

    On the Welcome page, click Next, and on the Copy Package page select the PXE distribution point

    clip_image001[21]

    Click Next and Close

    The next step would be to add the Operating System Install Package.

    Expand Operating System Deployment, right click Operating System Install Packages, and click Add Operating System Install Package.

    On the Data Source page, browse to the OS source directory that contains the installation source, and click Next

    clip_image001[23]

    On the General page, fill in the information as shown in the below figure, and click Next

    clip_image001[25]

    On the Summary page, click Next and Close

    To update the distribution point with the OS package, expand the Windows 7 x86 Default Image package, right click Distribution Points and click New Distribution Points.

    On the Welcome page click Next, and on the Copy Package page, check the distribution point

    clip_image001[27]

    Click Next and Close

    The next step would be to create a task sequence.

    For that, expand Operating System Deployment, right click Task Sequences and click Create Microsoft Deployment Task Sequence.

    On the Choose Template page, select the Client Task Sequence, and click Next.

    On the General page, type a name for the Task Sequence name, and click Next.

    On the Details page, Join a Workgroup , fill Windows Settings information, and click Next

    clip_image001[29]

    On the Capture Settings page, locate the capture destination location and the capture account, and click Next

    clip_image001[31]

    On the Boot Image page, select Specify an existing boot image package and browse to select the WinPE 3.0x86 boot image, and click Next

    clip_image001[33]

    On the MDT package, select Create a new Microsoft Deployment Toolkit Files package and specify the UNC path for the package source folder to be created, and click Next

    clip_image001[35]

    On the MDT Details page, fill in the package properties, and click Next

    On the OS image page, select specify an existing OS install package and browse for the Windows 7 x86 Default Image, and click Next

    clip_image001[37]

    On the Client Package page, select Specify an existing ConfigMgr client package, browse and select the Configuration Manager Client, and click Next

    clip_image001[39]

    On the USMT package, select Specify an existing USMT package, browse and select the package, and click Next

    clip_image001[41]

    On the Settings page, select Create a new settings page, and set the UNC path for the package source folder to be created, and click Next

    clip_image001[43]

    On the Settings Details page, specify the settings package properties, and click Next

    On the Sysprep Package, select No Sysprep package is required, and click Next

    On the Summary page, click Next, and on the Confirmation page, click Finish

    Go to the Capture Settings folder, and open the CustomSettings.ini file

    Copy the below to be able to capture the reference image:

    [Default]

    DoCapture=YES

    ComputerBackupLocation=NONE

    BDEInstallSuppress=YES

    We need to assign distribution point to the newly created package, and mainly to the MDT 2010 package and the Capture Settings package.

    For the MDT 2010, expand the package, right click Distribution Points, and click New Distribution Points.

    On the Welcome page, click Next. On the Copy Package page, select the distribution point

    clip_image001[45]

    Click Next and Close.

    Expand Windows 7 Capture Settings package, right click Distribution Points, and click New Distribution Points.

    On the Welcome page, click Next. On the Copy Package page, select the distribution point

    clip_image001[45]

    Click Next and Close.

     

    Next, we need to edit the SLP parameter in the Configuration Manager Client Agent properties before installing it. For that, expand Operating System Deployment, select Task Sequences, right click the newly created Client Task Sequence and click on Edit.

    Under PostInstall group, select Setup Windows and ConfigMgr, and in the installation properties type SMSSLP=SCCMPRIMARY where SCCMPRIMARY is the server hosting the Server Locator Point.

    Your Task Sequence should look as below:

    clip_image002[3]

    Click Apply and OK

    The last step would be to Advertise the Task Sequence.

    For that, right click the Windows 7 x86 Default Image Task Sequence, and click on Advertise

    On the General page, on the Collection field, click Browse to select the desired collection.

    Select All Unknown Computers, and check Make this task sequence available to boot media and PXE

    clip_image001[48]

    For the remaining pages, click Next till you hit Close

    Next, we need to create a WinPE media.

    To create a bootable media, right click the Windows 7 x86 Default Image Task Sequence, and click Create Task Sequence Media.

    On the Select Media Type page, select Bootable Media

    clip_image001[50]

    Click Next, and specify the file name and location for the media file

    clip_image001[52]

    On the Security page, uncheck Protect Media with a password and click Next

    On the Boot Image page, specify the boot image that will be run from the media

    clip_image001[54]

    Click Next twice, and click Close

    At the end of this process, you should see a bootable WinPE ISO file that will be used to boot the machine that will be used to build and capture the reference image.

    If you will be using Hyper-V to build and capture the reference image, you will need to attach the “iso” file to be able to boot to the Windows PE. If you are using a physical machine you can burn the “iso” file to a CD/DVD.

    Once the machine is booted, WinPE will start and you will receive the Welcome screen

    clip_image001[56]

    At this stage, you can click Configure to configure a static IP address, or you click Next and the machine will get an automatic IP address from the DHCP server.

    On the Task Sequence Wizard page, click Next

    clip_image001[58]

    And the Task Sequence will execute

    clip_image001[60]

    image

    At the end of this process, the Windows 7 will be installed, and an image will be captured and ready to be used for production deployment.

     

    This comes to the end of Part 3. In this article, we went over the required steps to build and capture a reference image.

    In the next article, we’ll perform a production deployment using the captured reference image.