Partner Technical Services Blog

A worldwide group of consultants who focus on helping Microsoft Partners succeed throughout the business cycle.

September, 2013

  • Last Chance to Register for Operation Azure

    Due to the high number of registrations for Operation Azure we’ve increased the number of available registration slots.  So, if you have not registered yet for the training that begins next week, there is still time.  Don’t miss this excellent opportunity to build your skills on Windows Azure.

    image

    Operation Azure: Infrastructure as a Service

    8 Week Virtual Training Program

    October 4 thru November 29, 2013

    What is Operation Azure:

    An innovative eight week progressive readiness program that combines deep technical (300 level) content along with Sales readiness to prepare the Practice Leads, Solution Architects and/or Delivery consultants to sell and deliver Azure Infrastructure solutions to their customers.   Operation Azure is delivered by Windows Azure MVP’s – so you can expect a practical, consultative approach to this training.  Operation Azure will start with an overview of the platform but will transition into a more scenario focused approach on how to design and deploy the most common customer requested solutions.

    You should expect a 4-5 hour time commitment per week.  This includes pre-reading, attending the live webcast, participating in the community (Q&A) and lab work.  Prior to attending the first session it’s highly recommended that you get your Azure IaaS subscription setup.  If you don’t already have one – you can sign up for a free trial here:  http://www.windowsazure.com/en-us/pricing/free-trial/  You get $200 credit for your first month.  Expect to run 2-3 VM’s per week (you are not ‘charged’ for VM’s that are not running) for the lab work.

    Feel free to pass this invite along to others in your organization who would be interested in attending.  Seating is limited so be sure to register as soon as possible.

    Program Overview:

    · 90 minute training webcast per week

    · Up to 4 hours of homework (reading, labs/exercises, participating in ‘office hours’ with the instructors, etc…) per week

    · Leverage expertise of Windows Azure MVP’s

    · Guest speakers from the Windows Azure Product Group

    · Learn about the key components and services surrounding the Windows Azure IaaS

    • 300 Level Technical presentations
    • In-depth product demonstrations
    • Best practices on how to implement technology for customers.

    · Learn about the best ways to sell the Windows Azure platform to customers

    • Learn how to best engage with MS Field
    • Dealing with objections

    Tentative Agenda:

    Note that this is still being finalized and subject to change

    Week

    Topics

    1 Introductions, Course Overview & Azure IaaS Overview

    2 Azure IaaS Networking – Best Practices and Common Implementation Scenario’s

    3 Active Directory in Azure – ADFS, SSO, AD on premise vs. AD in Azure and best practices deploying AD in Azure

    4 Connecting Azure PaaS applications to IaaS

    5 Scenario: Implementing Test & Dev in Azure IaaS

    6 Scenario: Deploying SQL Server & SharePoint in Azure IaaS

    7 Scenario: Azure IaaS & Office365

    8 Monitoring and Managing Azure IaaS with System Center (and other tools…)

    * *Register now**

    When: Once per week @ 11a CST between October 4 to November 29, 2013 (we will not have a session the week of thanksgiving)

    Where: Virtual/Live Meeting

    Who Should Attend: This program is intended for Practice Leads, Solution Architects, Developers or other individuals that are new to the Windows Azure Platform and will be responsible for selling and/or building custom software solutions on top of the Platform.  

    There will be limited slots available for this program and therefore we will be looking for registered attendees to commit to regular/active attendance to webcasts and completing all homework assignments on time.

    Cost: $99/person

    · Registration will require you be a member of the Microsoft Partner network, make sure your Microsoft Account/Windows Live ID is associated with your organization.  Find out more here.   Association may take 48 hours to process.

    · Please do not register on behalf of someone else – please associate the Windows Live ID first then register for training. Find out more here

    If anyone on your team has questions please feel free to reach out to us directly at OperationAzure@microsoft.com

  • C# Training from Microsoft Virtual Academy

    Developing Windows apps using C# is one of the most popular training series to date from MVA! Here in Partner Technical services we strongly encourage all our partners who are looking to build their C# skills to check out these trainings.

    With this in-depth training – available on-demand -- you’ll find out how to build cool apps for the Windows Store and take the first step towards getting an MCSD.

    Programming in C# Jump Start - Start Now

    This Jump Start covers C#, Microsoft’s managed C-style language for the .Net Framework and loosely follows the criteria for exam 70-483. Get ready for an engaging and demo rich course lead by Microsoft Technical Evangelist Jerry Nixon and the co-founder of Crank211, Daren May.

    Essentials of Developing Windows Store Apps using C# Jump Start - Start Now

    This Jump Start provides an overview of developing Windows Store Apps using C# which loosely follows the criteria for exam 70-484. Join Microsoft Technical Evangelist Jerry Nixon and the co-founder of Crank211, Daren May as they go through sample after sample in real time to show simple and complex techniques you can take back to your workplace.

    Advanced Windows Store App Development using C# Jump Start  - Start Now

    This Jump Start is an accelerated overview of Advanced Windows Store App Development Using C#. It is an intermediate to advanced event to help prepare learners for Microsoft exam 70-485 and is led by two seasoned Instructors Microsoft Technical Evangelist Jerry Nixon and the co-founder of Crank211.
  • Microsoft Dynamics AX Technical Conference

    New dates have been announced: The Microsoft Dynamics AX Technical Conference will be held February 3-5, 2014 in Bellevue, WA, USA. This is the premier technical event focused on Microsoft Dynamics AX. Whether you're just starting out or looking to go deeper with your product knowledge, the Technical Conference provides you the opportunity to stay up-to-date on upcoming capabilities and interact directly with the people that build Microsoft Dynamics AX. Register by December 4 to take advantage of the early registration pricing! Partners can sign up for email alerts, send questions about the event, or browse a recap of the 2012 event on the event website.

  • Come to Redmond and learn how to sell Office 365!

    imageO365 Drumbeat Sales Day - Redmond, WA
    October 9, 2013 from 8:00am - 5:00pm

    Microsoft would like to extend an exclusive partner-only invitation to the Drumbeat Sales Readiness day for sales and pre-sales technical roles within your organization at the Microsoft offices in Redmond, at 3730 163rd Ave NE, Redmond, WA 98052 Building 31 Room 2055

    The Drumbeat Sales day is a 1-day event that provides partners in sales and pre-sales technical roles with best practice sales training for Office 365. Selling Office 365 cloud services requires a new way of selling across all the workloads. In addition to sharing Microsoft best practices, programs and sales tools, we will also present insights into the cloud services market and the opportunity for partners who invest in growing an Office 365 practice.

    Come learn the proven best practices for selling Office 365! 

    The Drumbeat Sales day, October 9th, provides partners in sales and pre-sales technical roles with best practice sales training for Office 365.  Selling Office 365 requires a new way of selling, come hear about it.  In addition to sharing Microsoft best practices, programs, and selling tools, we will also present insights into the cloud services market and the opportunity for partners who invest in growing an Office 365 practice. 

    You will also have the opportunity to interact and learn from your industry peers and representatives from Microsoft.

    There is no charge for this exclusive training, however we will be imposing a no-show fee of $600 (USD) if you register, but do not cancel your registration within ten (10) business days before the start of the first event.

    Space is limited. RSVP today!

    If you have questions regarding the Drumbeat Partner Sales day, please contact the Microsoft Registration Desk.

    Session Descriptions

    Introducing the new Office and How to Demo

    The new Office provides a next-generation productivity experience for our customers.  Learn how to demonstrate the exciting features and benefits of the new Office with your customers. 

    A New Era of Partner Opportunity

    The new Office represents a once-in-a-generation shift in technology and a new era of partner opportunity.  Microsoft Is front-running the industry transformation to the cloud and Office 365 is leading the charge.  Learn more about our investments in the new Office and how we have created new partner opportunities across the customer lifecycle.

    The Benefits of Becoming an Office 365 Cloud Deployment Partner

    Office 365 is Microsoft’s fastest growing business ever to the tune of $1 billion and counting.  And, three out of four enterprise customers work with a partner to deploy their Office 365 service.  Are you one of these partners?  Learn more about the benefits of becoming a recognized Office 365 Cloud Deployment partner and what it takes to be one. 

    Selling Office 365 - Why Use the Customer Decision Framework (CDF)

    The proliferation of devices, broadening workplace demographics and a transformative shift to the cloud are all trends impacting the way we work.  Office 365 clearly addresses all of these trends and is backed by a sales process that has helped grow a $1B business.  Learn how to sell to customers using the Customer Decision Framework, a sales process that enables partners to make the shift from traditional software selling to successfully sell Office 365 in the cloud. 

    Selling Office 365 - Qualify the Opportunity with Cloud Principles

    Microsoft's Office 365 is advantageously built on a set of cloud principles that form how we position Office 365 to customers.  Become familiar with these principles and learn how to showcase the value of Office 365 cloud services across a breadth of real customer scenarios.  

    Selling Office 365 - Sell with the Customer Immersion Experience (CIE)

    The Microsoft Customer Immersion Experience (CIE) is a hands-on introduction to Windows 8 and the new Office.  For partners, it is an effective sales tool that provides customers with an opportunity to experience these powerful new productivity solutions for themselves.  Learn how the CIE simplifies customer conversations and provides business decision-makers with an opportunity to experience the full Office stack to accelerate sales and close revenue.

    Selling Office 365 - Office 365 FastTrack

    Office 365 FastTrack is Microsoft’s new 3-step pilot and deployment process designed so customers experience service value early in the sales cycle with a smooth path from pilot to full deployment within hours and no 'throw away' effort.  Learn how to utilize the Office 365 FastTrack process to get customers up and running quickly to win against the competition.

    Selling Office 365 - Licensing Overview

    Microsoft's Office and Office 365 offerings have evolved greatly over time culminating in today's flexible licensing strategy built around Office 365.  Gain an understanding of the Enterprise offerings within the new Office, and how we license for top customer scenarios. 

    Office 365 Support and Communications

    Microsoft is strengthening its partner support and communications strategy to better enable our partners to sell, service and support customers.  Learn about new ways to enhance your service offerings and stay connected with the latest developments on Office 365.

    Register Here!

  • Configuring SharePoint 2013 Forms-Based Authentication with SQLMemberShipProvider

    Post courtesy Partner Solution Consultant Priyo Lahiri

    Background

    With SharePoint 2013, a lot of partners and customers are opening up their on premise deployment to their vendors and customers. While the way you would configure this is very similar to SharePoint 2010, things get a little tricky when you perform a real-world deployment spanned across multiple servers. This post is an end-to-end walkthrough of setting up Forms Based Authentication with SQLMemberShipProvider in a 3 tier SharePoint 2013 Deployment.

    Environment

    It would be whole lot easier if I had a single server environment with the same account running everything and that account is also a Domain Admin. However, I chose a different approach since most likely this is how your real-world deployment will be setup and the steps are little different when your farm is spanned across 3 servers. Here is my environment:

    WFE01 – Web Server running Microsoft SharePoint Foundation Web Application. I am connecting to the SQL instance using an Alias. It’s a very smart move. If you have ever had to move your SharePoint databases across SQL Servers or decommission an aging SQL Server, you know that having a SQL Alias will save you from a lot of nightmares. If you are looking for a step by step, click here.

    APP01 – Central Admin Server. Note: this is NOT running Microsoft SharePoint Foundation Web Application and is configured to be a “True” application server. This also means that the Web Application that we create will not reside on this server.

    SQL01 – SQL Server running SQL Server 2012 with SP1

    SharePoint 2013 server RTM and Windows Server 2012 RTM are used for this set up.

    Tools to use

    While the steps documented below can be done without these tools, they do make your life a whole lot easier.

    1. FBA Configuration Manager for SharePoint 2013 – Author and Credit goes to Steve Peschka. The download comes with a ReadMe file. Please read it, since you need to register the WSP that comes with it.

    2. SharePoint 2013 FBA Pack – Author and Credit goes to Chris Coulson. Here is the documentation that will tell you how to install/activate/work with it. This not only will this make usonly tested the user management er management a breeze, it has some very useful features like password reset and self-service account management.

    NOTE: I have portion of the FBA Pack and didn’t have time to play with the rest of the features.

    How it’s done

    Step 1 – Create the Web Application

    In this step we will be creating the web application with Windows Authentication (Claims) and Forms Based Authentication (FBA) on the same Zone. In SharePoint 2013, you can have multiple authentication providers without extending the web application. Having said that, at times, you might have to extend the web application depending on your scenario. More on that on a different post where I will show you how to use LDAPMemberShipProvider to talk to your AD.

    From Central Administration, we will create a Web Application and call it Extranet.waterfall.net and enable both Windows Auth and FBA. Note the names I am using: ASP.NET Membership Provider Name = SQL_Membership and ASP.NET Role manager name = SQL_Role. You can call them whatever you want, just ensure you use the same names everywhere.

    clip_image002

    We will create a new App Pool and use the Web App Pool account. Make a note of this since you would need to give this account permission in the next step in the ASPNET database.

    clip_image004

    Create the Web App and then the Site Collection, it doesn’t matter what template you choose. Once the Site Collection is created, visiting the site collection will take you to our default sign in page where you will be asked to choose an Authentication Provider to Sign In with. If you want your External Users only to have the option of FBA, you would want to set this default zone with Windows Auth and extend it and have the FBA on the extended web app. Obviously, the URL’s will then be different.

    Your sign in page should look like this (make sure your DNS record (CNAME) point to the WFE01)

    clip_image006

    Do you want to see a custom sign in page with your company brand on it? Well, let’s defer that to a different post.

    Step 2 – Verify Tools

    Now that the web app is created, we will make sure FBA Pack and FBA Configuration manager is deployed as it should be. Go to Central Administration >> System Settings >> Manage Farm Solutions. Make sure fbaConfigFeature.wsp is globally deployed and visigo.sharepoint.formsbasedauthentication.wsp is deployed to http://extranet.yourdomain.com. See screenshot below. If the visigo.sharepoint.formsbasedauthentication.wsp is not deployed, click on the WSP and deploy it to your web application.

    clip_image008

    Login to the site collection created in the above step and activate the following feature:

    Site Settings >> Site Collection Administration >> Site Collection Features >> Form based Authentication Management

    clip_image009

    Once the feature is activated, it should add the following to your Site Settings under User and Permissions

    clip_image011

    Step 3 – Creating the SQL Database for User Management

    The first step is to create the SQL Database that would hold the Extranet Users

    • Browse to c:\Windows\Microsoft .NET\Framwork64\v4.0.30319
    • Run aspnet_regsql.exe
    • Click Next
    • Choose Configure SQL Server for Application Services >> Click Next
    • Enter your SQL Server Name , choose Windows Authentication and type in a Database Name

    clip_image013

    • Click Next twice to provision the database
    • Now we need to add the Application Pool that runs the web application and give it required permission. In this case, the application pool name is waterfall\spweb. Perform the following steps:
      • Open up SQL Management Studio, Expand the database we created and expand Security
      • Right click Users and add a new User
      • User Type = Windows User
      • User name = choose <yourAppPoolAccountName>
      • Login name = browse and choose the login name (should be same as the app pool name above)

    clip_image015

      • Click Owned Schemas and choose the following:
        • aspnet_Membership_FullAccess
        • aspnet_Persolalization_FullAccess
        • aspnet_Profile_FullAccess
        • aspnet_Roles_FullAccess
        • aspnet_WebEvent_FullAccess

    clip_image017

    Step 4 – Editing the web.config files

    We need edit the following web.config files:

    • Web Application Web.config – WFE server
    • STS Application web.config – WFE server and Application Server
    • Central Admin web.config – CA Server
    • If you have more WFEs and App Servers, you need to edit them as well. A lot of people puts these in there machine.config file as well so that it gets inherited to the web.config file. I am not too keen on editing the machine.config file.

    Let’s login to our WFE server and fire up FBAConfigMgr.exe. While you can get the code you need from here and edit web.config yourself, if you just let the tool run its course, it will create a Timer Job and do the task for you. In the FBAConfigMgr type in your application URL and from the sample configuration choose the following:

    • People Picker Wildcard
    • Connection String
    • Membership Provider
    • Role Provider

    Here is what the screen looks like when default values are chosen:

    clip_image019

    We will modify the default values to reflect the following (highlighted items need modification per your environment):

    • Web Application URL - http://extranet.waterfall.net
    • People Picker Wildcard - <add key="SQL_Membership" value="%" />
    • Connection String -
      <add name="fbaSQL" connectionString="server=SQL01;database=Extranet_User_DB;Trusted_Connection=true" />
    • Membership Provider -
      <add connectionStringName="fbaSQL" applicationName="/"
      name="SQL_Membership"
      type="System.Web.Security.SqlMembershipProvider, System.Web,
      Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    • Role Provider -
      <add connectionStringName="fbaSQL" applicationName="/"
      name="SQL_Role" type="System.Web.Security.SqlRoleProvider, System.Web,
      Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

    The screen should now look like this:

    clip_image021

    It’s time to hit Apply Config. This will create a timer job to update your web.config files. Though it creates a backup, you should be proactive and take a backup of your web application web.config and sts web.config file. Here is how to back up the web.config file and here is how to find the STS web.config file.

    Once you click Apply Config, the tool will tell you when it’s done. It might take a few mins before you see any changes, so wait for it (you should see a new backup file created for your web.config file with time stamp and _FBAConfigMgr in the end of the file). To verify that the job is done, open up the web.config for your web application and search for <membership. You should see the following:

    <<Web Application web.config file>>

    clip_image023

    The ConnectionStrings gets added to the end of the file right above </configuration>

    clip_image025

    <<STS web.config file>>

    Open up the STS Web.Config and you should see the following:

    clip_image027

    The ConnectionStrings gets added to the end of the file as well just like web.config of the web application.

    <<Central Administration web.config file on App Server>>

    If you go back to the application server and open up the web.config file for the Central Admin site, you will see there are no changes made there. So we will make that change manually. Create a backup of the file then open up the file and find <Machine. It should look like this:

    clip_image029

    We will add the following (copied from web.config file of web application or the code from FBAConfigMgr)

    1. Search for <machineKey and paste the following under <rolemanager><providers>
    <add connectionStringName="fbaSQL" applicationName="/" name="SQL_Role" type="System.Web.Security.SqlRoleProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

    2. Under <membership><providers> paste the following
    <add connectionStringName="fbaSQL" applicationName="/" name="SQL_Membership" type="System.Web.Security.SqlMembershipProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    The screen should now look like this:
    clip_image031

    3. Scroll to the end of the document and paste the following right before </configuration>
    <connectionStrings>

    <add name="fbaSQL" connectionString="server=SQL01;database=Extranet_User_DB;Trusted_Connection=true" />

    </connectionStrings>

    clip_image033

    <<STS web.config file on App Server>>

    Just like the Central Admin web.config make the same changes on this web.config as well. Just make sure you are pasting the information from RoleManager Providers and Membership Providers in the right place. Here is what the code looks like (you can use the code below are make changes to the highlighted areas to suit your environment):

    <system.web>

    <membership>

    <providers>

    <add connectionStringName="fbaSQL" applicationName="/" name="SQL_Membership" type="System.Web.Security.SqlMembershipProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

    </providers>

    </membership>

    <roleManager>

    <providers>

    <add connectionStringName="fbaSQL" applicationName="/" name="SQL_Role" type="System.Web.Security.SqlRoleProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

    </providers>

    </roleManager>

    </system.web>

    <connectionStrings>

    <add name="fbaSQL" connectionString="server=SQL01;database= Extranet_User_DB;Trusted_Connection=true" />

    </connectionStrings>

    Here is a screenshot

    clip_image035

    Step 5 - Use FBA Pack to add and manage users

    Our configurations are done. We will now go to our site collection and use the FBA Pack to add / manage users and Roles

    Go to Site Settings and click on FBA User Management >> Click New User and create a dummy user and add him to the contributor group

    clip_image037

    Step 6 – Verify Forms user

    Now open up IE in InPrivate mode and visit your site collection and this time choose Forms Authentication and enter the account information you just created to log in. You’re done!

    clip_image039

    Click on the user name and My Settings, you will see the account information coming from SQL Membership Provider

    clip_image041

    If you go to a document library and try and add the user there, you will see it resolves from your SQL database

    clip_image043

    Appendix

    How to create SQL Alias for SharePoint

    Follow the steps below to create a SQL Alias on all your SharePoint Servers:

    TechNet Reference: http://technet.microsoft.com/en-us/library/ff607733.aspx#clientalias

    1. Perform this on the Application Server that is hosting Central Administration

    a. Stop all SharePoint Services

    b. Open CLICONFIG.exe from C:\Windows\System32\cliconfg.exe (64 bit version of cliconfig.exe)

    c. Enable TCP/IP under general tab
    clip_image045

    d. Click on Alias Tab

    e. Type Current SQL Server Name in the Alias Name field

    f. Type Current SQL Server Name in the Server field (see screenshot below. In your case SQL Alias and SQL Server name is the same)
    clip_image047

    g. Validate SQL Alias

    i. Create a new text file on SharePoint Server and name it “TestDBConnection.udl”

    ii. Double click to open the file and enter your SQL Server Alias name

    iii. Use Windows Integrated Security

    iv. You should be able to see all your SharePoint databases when you click on “Select the database on the Server”

    h. Start all services for SharePoint Server / Reboot SharePoint Server

    i. Perform the steps above on all other SharePoint servers

    How to backup web.config file

    To back up web.config file, perform the following:

    · From IIS Manager (start >> Run > inetmgr)

    · Right click on the web site and click Explore

    · Copy the web.config file somewhere else, or the in the same location with a different name

    clip_image049

    Where is the STS web.config file?

    · On your WFE open up IIS Manager and expand SharePoint Web Services

    · Right click on SecurityTockenServiceApplication and click Explore

    clip_image051

  • Configuring SharePoint 2013 Search with PowerShell

    Post courtesy Partner Solution Consultant Priyo Lahiri:

    I wrote this script for a demo during our Practice Accelerater for SharePoint 2013. If you have attended the session you have already seen this in action. If not, here is the script for you to try out in your lab.

    Disclaimer: before we proceed you should know that this script has been tested in my lab to work in a very specific scenario. If you wish to use this, your environment should exactly look like mine. In other words, we are not responsible if this script ruins your farm Smile.

    Take a note on the environment first:

    SharePoint Farm:

    • 2 web front end servers
    • 2 application servers
    • 1 SQL Server

    Following are the services running on the server:

    clip_image002

    This script will provision Search on all the servers and configure our WFEs to host Query Processing Role.

    Very important: if your environment doesn’t look like this, STOP here.

    If you already have Search Configured, which would be your default setting if you have run the Farm Configuration Wizard, don’t use this script.

    Follow these TechNet guidance to understand more:

    As you can see from the above screenshot, my environment doesn’t even have Search Service started, so we are good to go in using this script. It’s ok to modify the script to use 3 server or 2 server environment, as long as Search has never been configured on your Farm or was configured and now removed.

    Let’s understand the script on a piecemeal basis:

    Section 1: setting up the environment and gather user inputs on Server Names, load SharePoint snap-in, managed account to use etc

    Set-ExecutionPolicy unrestricted
    Clear-Host
     
    # Start Loading SharePoint Snap-in
    $snapin = (Get-PSSnapin -name Microsoft.SharePoint.PowerShell -EA SilentlyContinue)
    IF ($snapin -ne $null){
    write-host -f Green "SharePoint Snap-in is loaded... No Action taken"}
    ELSE  {
    write-host -f Yellow "SharePoint Snap-in not found... Loading now"
    Add-PSSnapin Microsoft.SharePoint.PowerShell
    write-host -f Green "SharePoint Snap-in is now loaded"}
    # END Loading SharePoint Snapin
     
    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "SP13App"
    $hostB = Get-SPEnterpriseSearchServiceInstance -Identity "SP13-App2"
    $hostC = Get-SPEnterpriseSearchServiceInstance -Identity "SP13WFE01"
    $hostD = Get-SPEnterpriseSearchServiceInstance -Identity "SP13WFE02"
     
    $searchName = "Fabricam Search Service"
    $searchDB = "SP_Services_Search_DB"
    $searchAcct = "fabricam\spService"
    $searchAcctCred = convertto-securestring "pass@word1" -asplaintext -force
    $searchManagedAcct = Get-SPManagedAccount | Where {$_.username-eq 'fabricam\spService'}
    $searchAppPoolName = "Search Services Application Pool"
    IF((Get-spserviceapplicationPool | Where {$_.name -eq "Search Services Application Pool"}).name -ne "Search Services Application Pool"){
    $searchAppPool = New-SPServiceApplicationPool -Name $searchAppPoolName -Account $searchManagedAcct} 
     

    Section 2: Starting Search Service on all servers. You will notice there are some error handling in this script, for example, instead of just firing off the commands, I am actually waiting for the Search Service to respond before I go over to the next step. I have always found this approach very stable.

     
    ## Start Search Service Instances
    Write-Host "Starting Search Service Instances..."
    # Server 1
    IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostA).Status -eq 'Disabled'){
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA 
    Write-Host "Starting Search Service Instance on" $hostA.Server.Name
    Do { Start-Sleep 5;
    Write-host -NoNewline "."  } 
    While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostA).Status -eq 'Online')
    Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostA.Server.Name
    } ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostA.Server.Name  }
     
    #Server 2
    IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostB).Status -eq 'Disabled'){
    Start-SPEnterpriseSearchServiceInstance -Identity $hostB 
    Write-Host "Starting Search Service Instance on" $hostB.Server.Name
    Do { Start-Sleep 5;
    Write-host -NoNewline "."  } 
    While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostB).Status -eq 'Online')
    Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostB.Server.Name
    } ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostB.Server.Name  }
      
    #Server 3
    IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostC).Status -eq 'Disabled'){
    Start-SPEnterpriseSearchServiceInstance -Identity $hostC 
    Write-Host "Starting Search Service Instance on" $hostC.Server.Name
    Do { Start-Sleep 5;
    Write-host -NoNewline "."  } 
    While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostC).Status -eq 'Online')
    Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostC.Server.Name
    } ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostC.Server.Name  }
     
    #Server 4
    IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostD).Status -eq 'Disabled'){
    Start-SPEnterpriseSearchServiceInstance -Identity $hostD 
    Write-Host "Starting Search Service Instance on" $hostD.Server.Name
    Do { Start-Sleep 5;
    Write-host -NoNewline "."  } 
    While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostD).Status -eq 'Online')
    Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostD.Server.Name
    } ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostD.Server.Name  }
     

    Section 3: Starting the Search Query and Site Setting Service Instance on Application Servers. If you don’t wait for a response from Search Service on Application Servers in the step above and try to run this step, it’s very likely that it would fail.

    Additional Reference: http://msdn.microsoft.com/en-us/library/office/microsoft.office.server.search.administration.searchqueryandsitesettingsservice.aspx

    This service provides the creation of a SearchServiceApplication or a SearchServiceApplicationProxy to a Search service application. This allows the caller to establish effective load balancing of Search queries across query servers.


    ## Start Query and Site Settings Service Instance
    Write-Host "
    Starting Search Query and Site Settings Service Instance on" $hostA.server.Name "and" $hostB.server.Name
    Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $hostA.server.Name
    Do { Start-Sleep 3;
    Write-host -NoNewline "."  } 
    While ((Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Where {$_.Server.Name -eq $hostA.server.Name}).status -ne 'Online')
    Write-Host -ForegroundColor Green "
        Query and Site Settings Service Instance Started on" $hostA.Server.Name
     
    Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $hostB.server.Name
    Do { Start-Sleep 3;
    Write-host -NoNewline "."  } 
    While ((Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Where {$_.Server.Name -eq $hostB.server.Name}).status -ne 'Online')
    Write-Host -ForegroundColor Green "
        Query and Site Settings Service Instance Started on" $hostB.Server.Name 

     

    Section 4: Create the Search Service Application


    ## Create Search Service Application
    Write-Host "
    Creating Search Service Application..."
     
    $searchAppPool = Get-SPServiceApplicationPool -Identity "Search Services Application Pool"
     
    IF ((Get-SPEnterpriseSearchServiceApplication).Status -ne 'Online'){
    Write-Host " Provisioning. Please wait..."
    $searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchName -ApplicationPool $searchAppPool -AdminApplicationPool $searchAppPool -DatabaseName $searchDB
    DO {start-sleep 2;
    write-host -nonewline "." } While ( (Get-SPEnterpriseSearchServiceApplication).status -ne 'Online')
    Write-Host -f green " 
        Provisioned Search Service Application"
    } ELSE {  write-host -f green "Search Service Application already provisioned."
    $searchApp = Get-SPEnterpriseSearchServiceApplication
    } 

    Section 5: creating the Admin Component. Initial Search Topology is created with this as well.


    ## Set Search Admin Component
    Write-Host "Set Search Admin Component..."
    $AdminComponent = $searchApp | Get-SPEnterpriseSearchAdministrationComponent | Set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $hostA 

    Section 6: get the Initial Search Topology and Clone it

    ## Get Initial Search Topology
    Write-Host "Get Initial Search Topology..."
    $initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchApp
     
    ## Create Clone Search Topology
    Write-Host "Creating Clone Search Topology..."
    $cloneTopology = New-SPEnterpriseSearchTopology -SearchApplication $searchApp -Clone -SearchTopology $initialTopology 

     

    Section 7: here is where we define where different Search Components will live. We want to create a redundant topology for load balancing and high availability. As long as same services are running on multiple servers, SharePoint will use its internal Load Balancer.

    We will deploy Admin Component, Crawl Component, Analytics Processing Component, Content Processing Component and Index Partition 0 on both the Application Servers and we will run Query Processing Component on both the Web Front End Servers.

    If you are new these components mentioned above, refer to this TechNet Article.


    ## Host-A Components
     
    Write-Host "Creating Host A Components (Admin, Crawl, Analytics, Content Processing, Index Partition)..."
     
    $AdminTopology = New-SPEnterpriseSearchAdminComponent -SearchServiceInstance $hostA -SearchTopology $cloneTopology
    $CrawlTopology = New-SPEnterpriseSearchCrawlComponent -SearchServiceInstance $hostA -SearchTopology $cloneTopology
    $AnalyticsTopology = New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchServiceInstance $hostA -SearchTopology $cloneTopology
    $ContentProcessingTopology = New-SPEnterpriseSearchContentProcessingComponent -SearchServiceInstance $hostA -SearchTopology $cloneTopology
    $IndexTopology = New-SPEnterpriseSearchIndexComponent -SearchServiceInstance $hostA -SearchTopology $cloneTopology -IndexPartition 0
     
    ## Host-B Components
     
    Write-Host "Creating Host B Components (Admin, Crawl, Analytics, Content Processing, Index Partition)..."
     
    $AdminTopology = New-SPEnterpriseSearchAdminComponent -SearchServiceInstance $hostB -SearchTopology $cloneTopology
    $CrawlTopology = New-SPEnterpriseSearchCrawlComponent -SearchServiceInstance $hostB -SearchTopology $cloneTopology
    $AnalyticsTopology = New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchServiceInstance $hostB -SearchTopology $cloneTopology
    $ContentProcessingTopology = New-SPEnterpriseSearchContentProcessingComponent -SearchServiceInstance $hostB -SearchTopology $cloneTopology
    $IndexTopology = New-SPEnterpriseSearchIndexComponent -SearchServiceInstance $hostB -SearchTopology $cloneTopology -IndexPartition 0
     
    ## Host-C Components
     
    Write-Host "Creating Host C Components (Query)..."
     
    $QueryTopology = New-SPEnterpriseSearchQueryProcessingComponent -SearchServiceInstance $hostC -SearchTopology $cloneTopology
     
    ## Host-D Components
     
    Write-Host "Creating Host D Components (Query)..."
     
    $QueryTopology = New-SPEnterpriseSearchQueryProcessingComponent -SearchServiceInstance $hostD -SearchTopology $cloneTopology

    Section 8: Next we will activate the new topology that we just created above and remove the initial Search topology which should be in “Inactive” State.

    ## Activate Clone Search Topology
    Write-Host "Activating Clone Search Topology...Please wait. This will take some time"
    Set-SPEnterpriseSearchTopology -Identity $cloneTopology
     
    ## Remove Initial Search Topology
    Write-Host "Removing Initial Search Topology..."
    $initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchApp | where {($_.State) -eq "Inactive"}
    Remove-SPEnterpriseSearchTopology -Identity $initialTopology -Confirm:$false 

    Section 9: Last step is to create the Search Service Application Proxy

    ## Create Search Service Application Proxy
    Write-Host "Creating Search Service Application Proxy..."
    $searchAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$searchName Proxy" -SearchApplication $searchApp

    And here is the end result:

    Here are the services running on all servers:

    clip_image002[5]

    And here is the topology:

    clip_image004

    Cheers!

    Priyo

    Note: The referenced PowerShell script is attached to this post.  Use at your own risk, modify to meet the parameters of your own environment, and test before using in production!

  • Additional Seats Available: Windows Azure Mobile Services Deep Dive with Tech Support

    This event has been completed.  if you missed it, we’ve posted a raw recording if you would like to review it: http://youtu.be/5beMbVfcKU4

    Hello Everyone.  We have had about 10 spots for our October 2nd Chalk Talk with the support team open up.  These will fill fast, so please register early (full details below).

    If you are planning on attending, please bring any and all questions about Azure Mobile Services.  This is a great chance to interact with one of our experts. 

    WHAT: Windows Azure Mobile Services Chalk Talk

    WHEN: October 2nd, 2013 10am-12pm PST

    WHERE: Online Meeting

    REGISTRATION: Closed

    COST: Free

    Have you ever wanted to talk in-depth with an expert from Microsoft about working with Windows Azure Mobile Services? We’re making a limited opportunity available to do just that. On September 18th, 2013 from 10am-12pm PST we’ll be hosting a live chalk talk with technical experts from our developer support team.

    We’ll look at demos of real-world scenarios, how the technology works, best practices for implementation, and development troubleshooting tips. There will also be plenty of time for you to ask your questions.

    Windows Azure makes it fast and easy to build mobile apps that scale. Within minutes, you can store data in the cloud, authenticate users, and push notifications to millions of devices on iOS, Android and Windows.

    If you are interested, sign up today as space is limited in order to allow for quality discussion.

  • Azure Benefit Now Extended

    Azure Benefit Now Extended to Visual Studio Test Professional with MSDN and MSDN Platforms

    We're excited to announce a new MSDN benefit that will help you develop and test in the cloud - Windows Azure. Develop and test applications faster, reduce cost, and deploy in the cloud or on premises with your MSDN subscription. As a Visual Studio Test Professional with MSDN or MSDN Platforms subscriber, you will receive a US$200 Windows Azure credit the first month you use your Windows Azure MSDN benefit, then up to US$100 per month, depending on your level. The choice is yours on how you use your Windows Azure credits for development and test - including virtual machines (VMs), websites, cloud services, mobile services, storage, SQL database, content delivery network, HDInsight, media services, and many more. Find out more and activate your benefit today.

  • Operation Azure Infrastructure as a Service Virtual Training

    image

    Operation Azure: Infrastructure as a Service

    8 Week Virtual Training Program

    October 4 thru November 29, 2013

    What is Operation Azure:

    An innovative eight week progressive readiness program that combines deep technical (300 level) content along with Sales readiness to prepare the Practice Leads, Solution Architects and/or Delivery consultants to sell and deliver Azure Infrastructure solutions to their customers.   Operation Azure is delivered by Windows Azure MVP’s – so you can expect a practical, consultative approach to this training.  Operation Azure will start with an overview of the platform but will transition into a more scenario focused approach on how to design and deploy the most common customer requested solutions.

    You should expect a 4-5 hour time commitment per week.  This includes pre-reading, attending the live webcast, participating in the community (Q&A) and lab work.  Prior to attending the first session it’s highly recommended that you get your Azure IaaS subscription setup.  If you don’t already have one – you can sign up for a free trial here:  http://www.windowsazure.com/en-us/pricing/free-trial/  You get $200 credit for your first month.  Expect to run 2-3 VM’s per week (you are not ‘charged’ for VM’s that are not running) for the lab work.

    Feel free to pass this invite along to others in your organization who would be interested in attending.  Seating is limited so be sure to register as soon as possible.

    Program Overview:

    · 90 minute training webcast per week

    · Up to 4 hours of homework (reading, labs/exercises, participating in ‘office hours’ with the instructors, etc…) per week

    · Leverage expertise of Windows Azure MVP’s

    · Guest speakers from the Windows Azure Product Group

    · Learn about the key components and services surrounding the Windows Azure IaaS

    • 300 Level Technical presentations
    • In-depth product demonstrations
    • Best practices on how to implement technology for customers.

    · Learn about the best ways to sell the Windows Azure platform to customers

    • Learn how to best engage with MS Field
    • Dealing with objections

    Tentative Agenda:

    Note that this is still being finalized and subject to change

    Week

    Topics

    1

    Introductions, Course Overview & Azure IaaS Overview

    2

    Azure IaaS Networking – Best Practices and Common Implementation Scenario’s

    3

    Active Directory in Azure – ADFS, SSO, AD on premise vs. AD in Azure and best practices deploying AD in Azure

    4

    Connecting Azure PaaS applications to IaaS

    5

    Scenario: Implementing Test & Dev in Azure IaaS

    6

    Scenario: Deploying SQL Server & SharePoint in Azure IaaS

    7

    Scenario: Azure IaaS & Office365

    8

    Monitoring and Managing Azure IaaS with System Center (and other tools…)

    * *Register now**

    When: Once per week @ 11a CST between October 4 to November 29, 2013 (we will not have a session the week of thanksgiving)

    Where: Virtual/Live Meeting

    Who Should Attend: This program is intended for Practice Leads, Solution Architects, Developers or other individuals that are new to the Windows Azure Platform and will be responsible for selling and/or building custom software solutions on top of the Platform.  

    There will be limited slots available for this program and therefore we will be looking for registered attendees to commit to regular/active attendance to webcasts and completing all homework assignments on time.

    Cost: $99/person

    · Registration will require you be a member of the Microsoft Partner network, make sure your Microsoft Account/Windows Live ID is associated with your organization.  Find out more here.   Association may take 48 hours to process.

    · Please do not register on behalf of someone else – please associate the Windows Live ID first then register for training. Find out more here

     

    If anyone on your team has questions please feel free to reach out to us directly at OperationAzure@microsoft.com

     
  • Windows Azure Mobile Services Deep Dive with Tech Support

    This event has been completed.  if you missed it, we’ve posted a raw recording if you would like to review it: http://youtu.be/5beMbVfcKU4

    UPDATE Sept, 12, 2013:

    The October 2nd Talk is now full.  Thanks to everyone for your interest.

    If there is sufficient interest in an additional delivery of this Chalk Talk, we will schedule another one.  To express interest, please send an email Wsdsctreg@microsoft.com with the subject “Azure Mobile Services - Wait List”.

    Registration for the October 2nd event is now closed..

    WHAT: Windows Azure Mobile Services Chalk Talk

    WHEN: October 2nd, 2013 10am-12pm PST

    WHERE: Online Meeting

    REGISTRATION: SOLD OUT

    COST: Free

    UPDATE:  Registration for the Sept 18th event has reached capacity.  Due to high demand, we will be scheduling an additional date.  Details will be posted to this blog very soon.  Thanks to everyone for their excitement around Azure Mobile Services. 

    Have you ever wanted to talk in-depth with an expert from Microsoft about working with Windows Azure Mobile Services? We’re making a limited opportunity available to do just that. On September 18th, 2013 from 10am-12pm PST we’ll be hosting a live chalk talk with technical experts from our developer support team.

    We’ll look at demos of real-world scenarios, how the technology works, best practices for implementation, and development troubleshooting tips. There will also be plenty of time for you to ask your questions.

    Windows Azure makes it fast and easy to build mobile apps that scale. Within minutes, you can store data in the cloud, authenticate users, and push notifications to millions of devices on iOS, Android and Windows.

    If you are interested, sign up today as space is limited in order to allow for quality discussion. Registration will close Sept 18th.

    WHAT: Windows Azure Mobile Services Chalk Talk

    WHEN: September 18th, 2013 10am-12pm PST

    WHERE: Online Meeting

    REGISTRATION: SOLD OUT

    COST: Free

    Coming in October’s Chalk Talk: Light up your apps with sights and sounds

  • Developing ASP.NET MVC4 Web Applications Jump Start - Free Training

    Attention, all developers for the Microsoft platform. Are you ready to start building enterprise web applications? Or do you just need to ramp up on the new MVC (Model View Control) features or update your Microsoft certification? This is the meat and potatoes course that will tell you what you need to know and follows the Developing in HTML5 with JavaScript and CSS Jump Start. It’ll also help you prepare for exam 70-486.

    image

    Live Event Details

    September 17, 2013

    9:00am - 5:00pm (PDT)

    What: Fast Paced Live Virtual Session

    Cost: Free

    Audience: Developers

    Prerequisites: Having a solid understanding of HTML5 and having previewed Developing in HTML5 with JavaScript and CSS Jump Start will be helpful.

    Course Outline

       - MVC overview
       - Developing ASP.NET MVC 4 Controllers and Models
       - Developing ASP.NET MVC 4 Views
       - Integrating JavaScript and MVC
       - Implementing Web APIs
       - Deploying ASP.NET MVC Site Walkthrough

  • MPN Competency Exams at a Discount (up to 50% off)

    If you are like me saving some money is always a good thing.

    There has been quite a bit of chatter lately about the MPN Competencies.  For the most part many Microsoft certifications require individuals to pass multiple exams to earn certification. Wouldn’t it be nice to save a bit on the exams?  Well, the good news if that you can.

    MPN Competency Exam Packs provide your company an easy way to buy packs of exams at discount - http://aka.ms/MPNExamPacks. Through December 31, 2013, MPN Competency Exam packs are available for 50% off a pack of 20 exams or 40% off a pack of 5 exams. Individuals have until May 31, 2014 to schedule and take the qualifying exams in the packs. These vouchers do not come with Second Shot. For a list of qualifying exams, please visit Prometric.