Tag Archives: SharePoint 2013

PowerShell – Always open default SharePoint site ($profile)

Recently I found myself starting each PowerShell window with the same predictable first command (Get-SPSite http://myportalurl).   Knowing that PowerShell supports a start up script ($profile) I thought it may be possible to automate this and save a few seconds each time I need to open a console.   Below is the source code with screenshots.   Hopefully this helps somebody else to save time also.

image

image

image

Add-PSSnapin Microsoft.SharePoint.PowerShell
function Get-DefaultSite() { 
  $site = Get-SPSite http://myportalurl/ 
  $web = $site.OpenWeb(); 
  Return $web; 
}

Configuring Workflow Manager 1.0 on SharePoint 2013 (screenshots)

During my first attempt to enable Workflow Manager 1.0 on a local VM I ran into the following error:

—> System.InvalidOperationException: Program C:\Program Files\Windows Fabric\bin\Fabric\Fabric.Code.1.0\FabricDeployer.exe exited with error: Windows Fabric deployment failed.DeploymentValidator: warning: The Fabric Data Collection Agent is disabled for this deployment.
None of the declared nodes is for the current machine.

The steps I took to resolve were:

  1. Start \ Programs \ Workflow Manager 1.0 \ Workflow Manager Configuration \ Remove from Farm     (not to be confused with SharePoint “farm”)
  2. Drop SQL databases for Workflow Manager.   (SbGatewayDatabase, SbManagementDB, SBMessageContainer01, WFInstanceManagementDB, WFManagementDB, WFResourceManagementDB)
  3. Start \ Programs \ Workflow Manager 1.0 \ Workflow Manager Configuration \ Configure Workflow Manager with Default Settings (Recommended)
  4. Two things I did differently on the next pass: 
    1. I used the SQL alias “SPSQL” instead of the FQDN machine names.   I’m using that for SharePoint and prefer SQL aliases for management flexibility.
    2. I formatted the user name as “DEMO\SPFARM” instead of “SPFARM@DEMO” (default text value).   That seems to make more sense for AD login credentials and I didn’t understand why the default was more of an email syntax.
    3. I commented out all of the HOSTS file entries.  While this may not be related, I wanted to simplify the connections as much as possible.   I had “127.0.0.1” entries for the local machine to ensure connectivity even as a change VM host network settings, but removed while running the WF configuration wizard.
  5. Ran the wizard just like before and it completed successfully this time.

 

Now I can continue the steps outlined at http://technet.microsoft.com/en-us/library/jj658588(v=office.15) and run the PowerShell cmdlet Register-SPWorkflowService

 

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

 

=========================================================================

Configuration for Workflow Manager
Management Database SQL Instance    SP15.demo.com
Enable SSL connection with SQL Server instance    False
Authentication    Windows Authentication
Management Database Name    WFManagementDB
Instance Management Database SQL Instance    SP15.demo.com
Enable SSL connection with SQL Server instance    False
Authentication    Windows Authentication
Instance Management Database Name    WFInstanceManagementDB
Resource Management Database SQL Instance    SP15.demo.com
Enable SSL connection with SQL Server instance    False
Authentication    Windows Authentication
Resource Management Database Name    WFResourceManagementDB
RunAs Account    spfarm@DEMO
RunAs Password    ***********
Certificate Generation Key    ***********
Workflow Manager Outbound Signing Certificate    Auto-generated
Service SSL Certificate    Auto-generated
Encryption Certificate    Auto-generated
Workflow Manager Management Port    12290
HTTP Port    Disabled
Enable firewall rules on this computer    True
Administrators Group    BUILTIN\Administrators
Configuration for Service Bus
Management Database SQL Instance    SP15.demo.com
Enable SSL connection with SQL Server instance    False
Authentication    Windows Authentication
Management Database Name    SbManagementDB
Gateway Database SQL Instance    SP15.demo.com
Enable SSL connection with SQL Server instance    False
Authentication    Windows Authentication
Gateway Database Name    SbGatewayDatabase
Message Container SQL Instance    SP15.demo.com
Enable SSL connection with SQL Server instance    False
Authentication    Windows Authentication
Message Container Database Name    SBMessageContainer01
RunAs Account    spfarm@DEMO
RunAs Password    ***********
Certificate Generation Key    ***********
Farm Certificate    Auto-generated
Encryption Certificate    Auto-generated
HTTPS Port    9355
TCP Port    9354
Message Broker Port    9356
Internal Communication Port Range    9000 – 9004
Enable firewall rules on this computer    True
Administrators Group    BUILTIN\Administrators

 

=========================================================================

# To be run in Workflow Manager PowerShell console that has both Workflow Manager and Service Bus installed.
# Create new SB Farm
$SBCertificateAutoGenerationKey = ConvertTo-SecureString -AsPlainText -Force -String '***** Replace with Service Bus Certificate Auto-generation key ******' -Verbose;
New-SBFarm -SBFarmDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False' -InternalPortRangeStart 9000 -TcpPort 9354 -MessageBrokerPort 9356 -RunAsAccount 'spfarm@DEMO' -AdminGroup 'BUILTIN\Administrators' -GatewayDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=SbGatewayDatabase;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey $SBCertificateAutoGenerationKey -MessageContainerDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=SBMessageContainer01;Integrated Security=True;Encrypt=False' -Verbose;
# To be run in Workflow Manager PowerShell console that has both Workflow Manager and Service Bus installed.
# Create new WF Farm 
$WFCertAutoGenerationKey = ConvertTo-SecureString -AsPlainText -Force -String '***** Replace with Workflow Manager Certificate Auto-generation key ******' -Verbose;
New-WFFarm -WFFarmDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=WFManagementDB;Integrated Security=True;Encrypt=False' -RunAsAccount 'spfarm@DEMO' -AdminGroup 'BUILTIN\Administrators' -HttpsPort 12290 -HttpPort 12291 -InstanceDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=WFInstanceManagementDB;Integrated Security=True;Encrypt=False' -ResourceDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=WFResourceManagementDB;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey $WFCertAutoGenerationKey -Verbose;
# Add SB Host $SBRunAsPassword = ConvertTo-SecureString -AsPlainText -Force -String '***** Replace with RunAs Password for Service Bus ******' -Verbose;
Add-SBHost -SBFarmDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False' -RunAsPassword $SBRunAsPassword -EnableFirewallRules $true -CertificateAutoGenerationKey $SBCertificateAutoGenerationKey -Verbose;
Try {
	# Create new SB Namespace New-SBNamespace -Name 'WorkflowDefaultNamespace' -AddressingScheme 'Path' -ManageUsers 'spfarm@DEMO','spfarm@DEMO' -Verbose;
	Start-Sleep -s 90
} Catch [system.InvalidOperationException] { } 
# Get SB Client Configuration 
$SBClientConfiguration = Get-SBClientConfiguration -Namespaces 'WorkflowDefaultNamespace' -Verbose;
# Add WF Host $WFRunAsPassword = ConvertTo-SecureString -AsPlainText -Force -String '***** Replace with RunAs Password for Workflow Manager ******' -Verbose;
Add-WFHost -WFFarmDBConnectionString 'Data Source=SP15.demo.com;Initial Catalog=WFManagementDB;Integrated Security=True;Encrypt=False' -RunAsPassword $WFRunAsPassword -EnableFirewallRules $true -SBClientConfiguration $SBClientConfiguration -CertificateAutoGenerationKey $WFCertAutoGenerationKey -Verbose;

=========================================================================

Configuration operation partially succeeded.  Use ‘Join an Existing farm’ to complete the configuration.

[Error] [3/27/2013 9:53:08 AM]: System.Management.Automation.CmdletInvocationException: Program C:\Program Files\Windows Fabric\bin\Fabric\Fabric.Code.1.0\FabricDeployer.exe exited with error: Windows Fabric deployment failed.DeploymentValidator: warning: The Fabric Data Collection Agent is disabled for this deployment.
None of the declared nodes is for the current machine.

—> System.InvalidOperationException: Program C:\Program Files\Windows Fabric\bin\Fabric\Fabric.Code.1.0\FabricDeployer.exe exited with error: Windows Fabric deployment failed.DeploymentValidator: warning: The Fabric Data Collection Agent is disabled for this deployment.
None of the declared nodes is for the current machine.

 

   at Microsoft.ServiceBus.Commands.Common.ProcessHelper.RunCommandInProcess(String exeName, String arguments, String errorString)
   at Microsoft.ServiceBus.Commands.AddSBHost.ProcessRecordImplementation()
   at Microsoft.ServiceBus.Commands.ServiceBusBaseCmdlet.ProcessRecord()
   at System.Management.Automation.CommandProcessor.ProcessRecord()
   — End of inner exception stack trace —
   at System.Management.Automation.PowerShell.EndInvoke(IAsyncResult asyncResult)
   at Microsoft.Workflow.Deployment.ConfigWizard.CommandletHelper.InvokePowershell(Command command, Action`3 updateProgress)
   at Microsoft.Workflow.Deployment.ConfigWizard.ProgressPageViewModel.AddSBNode(FarmCreationModel model, Boolean isFirstCommand)

=========================================================================

Starting
Validating input and configuration parameters.
Installing auto-generated certificate.
Granting ‘Log on as Service’ privilege to the run as account.
Windows Fabric configuration started.
Running Windows Fabric deployment.
Program C:\Program Files\Windows Fabric\bin\Fabric\Fabric.Code.1.0\FabricDeployer.exe exited with error: Windows Fabric deployment failed.DeploymentValidator: warning: The Fabric Data Collection Agent is disabled for this deployment.
None of the declared nodes is for the current machine.

WPI Offline Install – Workflow Manager 1.0 for SharePoint 2013

Earlier today I was trying to load Workflow Manager 1.0 to get the new “2013” flavor workflows running on my VM.   The Microsoft download links are tiny files which launch WPI (Web Platform Installer).   That’s fine for a hobby machine or one time install, but I need an offline install for real data centers.   Why?   Two reasons:   they often block internet access for security and I want to install via script (do many machines faster).

 

I watched Web Platform Installer download and install the various components I wondered where it was keeping all those nice download files.   Not %TEMP% and not C:\WINDOWS\TEMP\.  The obvious locations yielded nothing so I launched SysInternals PROCMON.EXE and watched open file handles for the install window  (click the target icon to select any active window).  That helped me find the right location and now I can copy those MSI files directly for offline installs.

If you need any Web Platform Installer items to run offline, just watch this folder while running on 1 PC and then you can copy to others.

 

C:\Users\spfarm\AppData\Local\Microsoft\Web Platform Installer\installers\

 

image

image

SharePoint 2013 – Install Notes

Below is a quick brain dump from a one machine VM install for development.   Getting the install media folder correctly populated with various patches, offline prerequisites, and correct XML configuration for AutoSPInstaller was key.   Once that folder was ready, everything ran very smoothly.  Smile

 

Hardware

http://technet.microsoft.com/en-us/library/cc262485.aspx#reqOtherCap

  • Dynamic expanding VHD up to 96GB with Start > Run > DISKMGMT.MSC > right click Create VHD
  • Virtual Box VM (from Windows 8 64bit template)
  • 10GB of RAM
  • 128MB video RAM
  • Bidirectional clipboard enabled
  • Shared folder “SPMedia” for install as read only
  • Share folder “temp” for read/write

image

image

image

image

image

image

 

 

Software

http://technet.microsoft.com/en-us/library/cc262485.aspx#section4

  • Windows 2008 R2  (supported by data center team.   I plan to make a “2012” flavor also)
  • SQL 2008 R2 Service Pack 2   (SP2 is important.  SP2013 install requires a minimum of SP1, but may as well get the latest while in there)
  • IE 10
  • All windows update complete
  • Promoted to domain controller as “DEMO.COM”
  • Created 1 service account for SQL:
    • sqlsrv
  • Created 9 service user accounts for SharePoint:
    • spfarm
    • sppool
    • spservice
    • spprofile
    • spsearch
    • spcontent
    • spsuperuser
    • spsuperreader
    • spdata

image

image

image

image

image

 

 

Install Process

  • Downloaded latest AutoSPInstaller (http://autospinstaller.codeplex.com/) build 99077 as of 3/22/2013
  • Extracted AutoSPInstaller ZIP, downloaded offline prerequisites, and completed new XML file with service accounts
  • Downloaded March 2013 Public Update (PU) and extracted to C:\SPMedia\2013\SharePoint\Updates\
  • Run Command Prompt as Administrator
  • Run C:\SPMedia\AutoSPInstaller\AutoSPInstallerLaunch.bat

Prerequisite Files

Directory of C:\SPMedia\2013\SharePoint\PrerequisiteInstallerFiles

03/25/2013  10:06 AM    <DIR>          .
03/25/2013  10:06 AM    <DIR>          ..
05/28/2011  10:58 PM         4,451,736 427087_intl_x64_zip.exe.zip
06/21/2011  02:26 PM         1,139,960 433385_intl_x64_zip.exe.zip
05/15/2012  03:03 PM           794,144 447698_intl_x64_zip.exe.zip
07/18/2012  12:21 PM         1,399,984 AppFabric1.1-RTM-KB2671763-x64-ENU.exe
03/24/2013  01:08 PM        50,352,408 dotnetfx45_full_x86_x64.exe
07/17/2012  11:59 PM             3,524 DownloadAllSP2013PreReqs.ps1
10/01/2012  08:53 PM    <DIR>          filterpack
07/18/2012  12:21 PM           249,344 MicrosoftIdentityExtensions-64.msi
09/27/2012  08:45 PM         4,722,704 NDP45-KB2759112-x64.exe
07/30/2012  03:20 PM                 0 PutPrerequisiteFilesHere.txt
07/18/2012  12:21 PM         4,943,360 setup_msipc_x64.msi
06/24/2012  01:51 PM        14,214,344 SharePointFoundationLP_en-us_x64.exe
07/18/2012  12:21 PM         8,121,344 sqlncli.msi
07/18/2012  12:21 PM         1,026,048 Synchronization.msi
07/18/2012  12:21 PM         5,735,120 WcfDataServices.exe
01/20/2011  05:40 PM         4,321,793 Windows6.1-KB2472264-v3-x64.msu
07/18/2012  12:21 PM        14,514,662 Windows6.1-KB2506143-x64.msu
05/26/2011  02:59 PM         1,010,821 Windows6.1-KB2554876-v2-x64.msu
07/17/2011  12:52 AM         2,049,178 Windows6.1-KB2567680-x64.msu
05/03/2012  12:56 PM           669,029 Windows6.1-KB2708075-x64.msu
07/18/2012  12:21 PM         1,545,666 Windows6.1-KB974405-x64.msu
10/05/2012  01:48 PM         4,078,084 Windows8-RT-KB2765317-x64.msu
07/18/2012  12:21 PM        33,646,240 WindowsServerAppFabricSetup_x64.exe
              22 File(s)    158,989,493 bytes

Directory of C:\SPMedia\2013\SharePoint\PrerequisiteInstallerFiles\filterpack

10/01/2012  08:53 PM    <DIR>          .
10/01/2012  08:53 PM    <DIR>          ..
06/23/2012  09:36 PM           450,560 filterpack.msi
06/23/2012  09:37 PM         3,313,863 filterpk.cab
               2 File(s)      3,764,423 bytes

     Total Files Listed:
              24 File(s)    162,753,916 bytes
               5 Dir(s)  62,485,356,544 bytes free

 

image

image

image

 

 

Operating Screenshots

  • Central Admin
  • Team Site
  • 15 (and 14 hives)!
  • Service Applications
  • PowerShell build number
  • PowerShell $profile to include “Add-PSSnapin Microsoft.SharePoint.PowerShell

image

image

image

image

image

image

image

image

FIXED – SharePoint 2013 Setup Error – Appfabric is not correctly configured

When trying to install SharePoint Server 2013, I saw the below error.  This was caused by manually double clicking the file “WindowsServerAppFabricSetup_x64.exe” instead of allowing the SharePoint Prerequisite Installer to run this.

The resolution was to run “prerequisiteinstaller.exe” with command line parameters to directly specify the filename for each prerequisite.   Just like with SharePoint 2010, when installing offline we must tell the installer where to locate each file.   Running the various components manually doesn’t work well.   Apparently there is an install sequence or extra parameters which “prerequisiteinstaller.exe”  must perform for the prerequisites to install correctly.

Below is the correct command line to use offline.  I saved this as “prereq.cmd” on my install folder.  Hope that helps!  Smile

 

prerequisiteinstaller.exe
/SQLNCLi:prerequisiteinstallerfiles\sqlncli.msi
/PowerShell:prerequisiteinstallerfiles\Windows6.1-KB2506143-x64.msu
/NETFX:prerequisiteinstallerfiles\dotNetFx45_Full_x86_x64.exe
/IDFX:prerequisiteinstallerfiles\Windows6.1-KB974405-x64.msu
/Sync:prerequisiteinstallerfiles\Synchronization.msi
/AppFabric:prerequisiteinstallerfiles\WindowsServerAppFabricSetup_x64.exe
/IDFX11:prerequisiteinstallerfiles\MicrosoftIdentityExtensions-64.msi
/MSIPCClient:prerequisiteinstallerfiles\setup_msipc_x64.msi
/WCFDataServices:prerequisiteinstallerfiles\WcfDataServices.exe /quiet 
/KB2671763:prerequisiteinstallerfiles\AppFabric1.1-RTM-KB2671763-x64-ENU.exe

 

image

 

image

 

image

image

 

image

Toggle Developer Dashboard

Here are the commands to change the global developer dashboard setting in SharePoint 2010 and 2013.

OnDemand Mode:

$sp2010 = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
$sp2010.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand;
$sp2010.RequiredPermissions = 'ManageWeb';  #EmptyMask = all users.  ManageWeb = full control or higher.
$sp2010.TraceEnabled = $true;
$sp2010.Update();

On Mode:

$sp2010 = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
$sp2010.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On;
$sp2010.RequiredPermissions = 'ManageWeb';  #EmptyMask = all users.  ManageWeb = full control or higher.
$sp2010.TraceEnabled = $true;
$sp2010.Update();

Off Mode:

$sp2010 = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
$sp2010.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::Off;
$sp2010.Update();

STSADM command line:

stsadm -o setproperty -pn developer-dashboard -pv ondemand 
stsadm -o setproperty -pn developer-dashboard -pv on 
stsadm -o setproperty -pn developer-dashboard -pv off

 

image
Return to Top ▲Return to Top ▲