This article is deprecated. New information on how to use PowerShell DSC to install SharePoint 2016 is available Here.
This article is a step by step guide of how to configure a new SharePoint 2016 Single Server farm instance using PowerShell Desired State Configuration (DSC). The example covered in this tutorial is using an Azure Virtual Machine running the Windows Server 2012 R2 image.
Technical Specifications
- Windows Server 2012 R2(x64)
- Domain is contoso.com
- D11 Azure VM (2 cores, 14GB of RAM)
- SQL Server 2016 CTP 3
Prerequisites
1 – Download and configure the xSharePoint DSC Resource
The first thing you will need to do is go download and configure the xSharePoint DSC resource. While the official bits are officially hosted on the PowerShell Gallery (PowerShellGallery.org), the SharePoint 2016 bits are still only available on the Github repository at the time of writing this article.
1.1) Navigate to the Github Repository http://github.com/PowerShell/SharePointDSC
1.2) On the right hand side, click on the “Download ZIP” button
1.3) Extract the xSharePoint folder (located in Zip at xSharePoint-dev > Modules) to C:\Program Files\WindowsPowerShell\Modules\
2 – Install PowerShell 5
In order to leverage the PowerShell Get features from the following sections, you will require that the Windows Management Framework 5.0 be installed on your server.
2.1) Download the WMF 5.0 package (February 2015 Preview) from Microsoft’s Download Center from here
2.2) Install the Windows Management Framework 5.0 on your server.
2.3) Reboot your server.
3 – Download the xDisk DSC resource
Because this resource is actually located in the PowerShell Gallery we can user OneGet to automatically download and configure the resource.
3.1) In a PowerShell console, execute the following line of code. When prompted to add the package provider and to install from an untrusted location, enter ‘Y’ on both occasions.
Install-Module -Name xDisk
4 – Download the xCredSSP DSC Resource
Just like the xDisk resource, the xCredSSP resource is also available from the PowerShell Gallery.
4.1) To download and configure it automatically, run the following line of PowerShell. Again, when prompted to install from an untrusted repository, enter ‘y’.
Install-Module -Name xCredSSP
5 – Download the xWebAdministration DSC Resource
The story repats itself once more. In order to properly configure your environment, you will also require the xWebAdministration DSC resource to be downloaded and configured.
5.1) To download and configure it automatically, simply run the following line of PowerShell. When prompted to install from an untrusted repository, enter ‘y’.
Install-Module -Name xWebAdministration
6 – SQL Server 2016 CTP 3
I am cheating a bit in this tutorial. Normally you would want to connect your SharePoint farm to a separate SQL server, but in my case to keep things simple, I will be running both the SharePoint 2016 and SQL Server 2016 bits on the same server. Therefore I will manually go and configure a new default instance of SQL Server 2016 using an account called contoso\sqlinstall
7 – Extract the SharePoint Binaries
7.1) Download the SharePoint 2016 Beta 2 https://www.microsoft.com/en-us/download/details.aspx?id=49961
7.2) Mount the SharePoint 2016 iso onto a drive, in my case F:\
8 – Unblock the DSC Resource Files
Very often, PowerShell modules downloaded from the internet will be blocked, meaning that the Server operating system will prevent their execution. In order to allow the DSC engine to properly configure our environment, we need to make sure all resource files are properly unlocked.
8.1) Run the following line of PowerShell:
Get-ChildItem -Path "C:\Program Files\WindowsPowershell\Modules\xSharePoint" -Recurse | Unblock-File
9 – Configure the WinRM
To allow DSC to properly execute remote commands (even though it will execute it locally under different credentials), we need to configure the WinRM protocol on our server.
9.1) Execute the following line of PowerShell as an administrator:
WinRM QuickConfig
10 – Write your Desired State Configuration (DSC) Script
10.1) Create the DSC Configuration Script. Copy the following lines of PowerShell code and save them in a file at C:\Scripts\SharePoint2016Config.ps1
Configuration SharePointServer { param ( [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $CredSSPDelegates, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $SPBinaryPath, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $ULSViewerPath, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [PSCredential] $SPBinaryPathCredential, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [PSCredential] $FarmAccount, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [PSCredential] $InstallAccount, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $ProductKey, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $DatabaseServer, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $FarmPassPhrase, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [PSCredential] $WebPoolManagedAccount, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [PSCredential] $ServicePoolManagedAccount, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $WebAppUrl, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $TeamSiteUrl, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $MySiteHostUrl, [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [int] $CacheSizeInMB ) Import-DscResource -ModuleName xSharePoint Import-DscResource -ModuleName xWebAdministration Import-DscResource -ModuleName xCredSSP Import-DscResource -ModuleName xDisk node "localhost" { #********************************************************** # Server configuration # # This section of the configuration includes details of the # server level configuration, such as disks, registry # settings etc. #********************************************************** xCredSSP CredSSPServer { Ensure = "Present"; Role = "Server" } xCredSSP CredSSPClient { Ensure = "Present"; Role = "Client"; DelegateComputers = $CredSSPDelegates } #********************************************************** # Software downloads # # This section details where any binary downloads should # be downloaded from and put locally on the server before # installation takes place #********************************************************** File SPBinaryDownload { DestinationPath = "C:\SPInstall" Credential = $SPBinaryPathCredential Ensure = "Present" SourcePath = $SPBinaryPath Type = "Directory" Recurse = $true } #********************************************************** # Binary installation # # This section triggers installation of both SharePoint # as well as the prerequisites required #********************************************************** xSPInstallPrereqs InstallPrerequisites { InstallerPath = "C:\SPInstall\Prerequisiteinstaller.exe" OnlineMode = $true SQLNCli = "C:\SPInstall\prerequisiteinstallerfiles\sqlncli.msi" PowerShell = "C:\SPInstall\prerequisiteinstallerfiles\Windows6.1-KB2506143-x64.msu" NETFX = "C:\SPInstall\prerequisiteinstallerfiles\dotNetFx45_Full_setup.exe" IDFX = "C:\SPInstall\prerequisiteinstallerfiles\Windows6.1-KB974405-x64.msu" Sync = "C:\SPInstall\prerequisiteinstallerfiles\Synchronization.msi" AppFabric = "C:\SPInstall\prerequisiteinstallerfiles\WindowsServerAppFabricSetup_x64.exe" IDFX11 = "C:\SPInstall\prerequisiteinstallerfiles\MicrosoftIdentityExtensions-64.msi" MSIPCClient = "C:\SPInstall\prerequisiteinstallerfiles\setup_msipc_x64.msi" WCFDataServices = "C:\SPInstall\prerequisiteinstallerfiles\WcfDataServices.exe" KB2671763 = "C:\SPInstall\prerequisiteinstallerfiles\AppFabric1.1-RTM-KB2671763-x64-ENU.exe" WCFDataServices56 = "C:\SPInstall\prerequisiteinstallerfiles\WcfDataServices56.exe" Ensure = "Present" } xSPInstall InstallBinaries { BinaryDir = "C:\SPInstall" ProductKey = $ProductKey Ensure = "Present" DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } #********************************************************** # IIS clean up # # This section removes all default sites and application # pools from IIS as they are not required #********************************************************** xWebAppPool RemoveDotNet2Pool { Name = ".NET v2.0"; Ensure = "Absent"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } xWebAppPool RemoveDotNet2ClassicPool { Name = ".NET v2.0 Classic"; Ensure = "Absent"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } xWebAppPool RemoveDotNet45Pool { Name = ".NET v4.5"; Ensure = "Absent"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites"; } xWebAppPool RemoveDotNet45ClassicPool { Name = ".NET v4.5 Classic"; Ensure = "Absent"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites"; } xWebAppPool RemoveClassicDotNetPool { Name = "Classic .NET AppPool"; Ensure = "Absent"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } xWebAppPool RemoveDefaultAppPool { Name = "DefaultAppPool"; Ensure = "Absent"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } xWebSite RemoveDefaultWebSite { Name = "Default Web Site"; Ensure = "Absent"; PhysicalPath = "C:\inetpub\wwwroot"; DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } #********************************************************** # Basic farm configuration # # This section creates the new SharePoint farm object, and # provisions generic services and components used by the # whole farm #********************************************************** xSPCreateFarm CreateSPFarm { DatabaseServer = $DatabaseServer FarmConfigDatabaseName = "SP_Config" Passphrase = $FarmPassPhrase FarmAccount = $FarmAccount InstallAccount = $InstallAccount AdminContentDatabaseName = "SP_AdminContent" DependsOn = "[xSPInstall]InstallBinaries" } xSPManagedAccount ServicePoolManagedAccount { AccountName = $ServicePoolManagedAccount.UserName Account = $ServicePoolManagedAccount Schedule = "" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPManagedAccount WebPoolManagedAccount { AccountName = $WebPoolManagedAccount.UserName Account = $WebPoolManagedAccount Schedule = "" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPDiagnosticLoggingSettings ApplyDiagnosticLogSettings { InstallAccount = $InstallAccount LogPath = "C:\ULSLogs" LogSpaceInGB = 10 AppAnalyticsAutomaticUploadEnabled = $false CustomerExperienceImprovementProgramEnabled = $true DaysToKeepLogs = 7 DownloadErrorReportingUpdatesEnabled = $false ErrorReportingAutomaticUploadEnabled = $false ErrorReportingEnabled = $false EventLogFloodProtectionEnabled = $true EventLogFloodProtectionNotifyInterval = 5 EventLogFloodProtectionQuietPeriod = 2 EventLogFloodProtectionThreshold = 5 EventLogFloodProtectionTriggerPeriod = 2 LogCutInterval = 15 LogMaxDiskSpaceUsageEnabled = $true ScriptErrorReportingDelay = 30 ScriptErrorReportingEnabled = $true ScriptErrorReportingRequireAuth = $true DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPUsageApplication UsageApplication { Name = "Usage Service Application" DatabaseName = "SP_Usage" UsageLogCutTime = 5 UsageLogLocation = "C:\UsageLogs" UsageLogMaxFileSizeKB = 1024 InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPStateServiceApp StateServiceApp { Name = "State Service Application" DatabaseName = "SP_State" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPDistributedCacheService EnableDistributedCache { Name = "AppFabricCachingService" Ensure = "Present" CacheSizeInMB = $CacheSizeInMB ServiceAccount = $ServicePoolManagedAccount.UserName InstallAccount = $InstallAccount DependsOn = @('[xSPCreateFarm]CreateSPFarm','[xSPManagedAccount]ServicePoolManagedAccount') CreateFirewallRules = $true } #********************************************************** # Web applications # # This section creates the web applications in the # SharePoint farm, as well as managed paths and other web # application settings #********************************************************** xSPWebApplication HostNameSiteCollectionWebApp { Name = "SharePoint Sites" ApplicationPool = "SharePoint Sites" ApplicationPoolAccount = $WebPoolManagedAccount.UserName AllowAnonymous = $false AuthenticationMethod = "NTLM" DatabaseName = "SP_Content_01" DatabaseServer = $DatabaseServer Url = $WebAppUrl Port = 80 InstallAccount = $InstallAccount DependsOn = "[xSPManagedAccount]WebPoolManagedAccount" } xSPManagedPath TeamsManagedPath { WebAppUrl = "http://$WebAppUrl" InstallAccount = $InstallAccount RelativeUrl = "teams" Explicit = $false HostHeader = $true DependsOn = "[xSPWebApplication]HostNameSiteCollectionWebApp" } xSPManagedPath PersonalManagedPath { WebAppUrl = "http://$WebAppUrl" InstallAccount = $InstallAccount RelativeUrl = "personal" Explicit = $false HostHeader = $true DependsOn = "[xSPWebApplication]HostNameSiteCollectionWebApp" } xSPCacheAccounts SetCacheAccounts { WebAppUrl = "http://$WebAppUrl" SuperUserAlias = "DEMO\svxSPSuperUser" SuperReaderAlias = "DEMO\svxSPReader" InstallAccount = $InstallAccount DependsOn = "[xSPWebApplication]HostNameSiteCollectionWebApp" } #********************************************************** # Service instances # # This section describes which services should be running # and not running on the server #********************************************************** xSPServiceInstance ClaimsToWindowsTokenServiceInstance { Name = "Claims to Windows Token Service" Ensure = "Present" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPServiceInstance UserProfileServiceInstance { Name = "User Profile Service" Ensure = "Present" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPServiceInstance SecureStoreServiceInstance { Name = "Secure Store Service" Ensure = "Present" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPServiceInstance ManagedMetadataServiceInstance { Name = "Managed Metadata Web Service" Ensure = "Present" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPServiceInstance BCSServiceInstance { Name = "Business Data Connectivity Service" Ensure = "Present" InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPUserProfileSyncService UserProfileSyncService { UserProfileServiceAppName = "User Profile Service Application" Ensure = "Present" FarmAccount = $FarmAccount InstallAccount = $InstallAccount DependsOn = "[xSPUserProfileServiceApp]UserProfileServiceApp" } #********************************************************** # Service applications # # This section creates service applications and required # dependencies #********************************************************** xSPServiceAppPool MainServiceAppPool { Name = "SharePoint Service Applications" ServiceAccount = $ServicePoolManagedAccount.UserName InstallAccount = $InstallAccount DependsOn = "[xSPCreateFarm]CreateSPFarm" } xSPUserProfileServiceApp UserProfileServiceApp { Name = "User Profile Service Application" ApplicationPool = "SharePoint Service Applications" MySiteHostLocation = "http://$MySiteHostUrl" ProfileDBName = "SP_UserProfiles" ProfileDBServer = $DatabaseServer SocialDBName = "SP_Social" SocialDBServer = $DatabaseServer SyncDBName = "SP_ProfileSync" SyncDBServer = $DatabaseServer FarmAccount = $FarmAccount InstallAccount = $InstallAccount DependsOn = @('[xSPServiceAppPool]MainServiceAppPool', '[xSPManagedPath]PersonalManagedPath', '[xSPSite]MySiteHost', '[xSPManagedMetaDataServiceApp]ManagedMetadataServiceApp','[xSPSearchServiceApp]SearchServiceApp') } xSPSecureStoreServiceApp SecureStoreServiceApp { Name = "Secure Store Service Application" ApplicationPool = "SharePoint Service Applications" AuditingEnabled = $true AuditlogMaxSize = 30 DatabaseName = "SP_SecureStore" InstallAccount = $InstallAccount DependsOn = "[xSPServiceAppPool]MainServiceAppPool" } xSPManagedMetaDataServiceApp ManagedMetadataServiceApp { Name = "Managed Metadata Service Application" InstallAccount = $InstallAccount ApplicationPool = "SharePoint Service Applications" DatabaseServer = $DatabaseServer DatabaseName = "SP_ManagedMetadata" DependsOn = "[xSPServiceAppPool]MainServiceAppPool" } xSPSearchServiceApp SearchServiceApp { Name = "Search Service Application" DatabaseName = "SP_Search" ApplicationPool = "SharePoint Service Applications" InstallAccount = $InstallAccount DependsOn = "[xSPServiceAppPool]MainServiceAppPool" } xSPBCSServiceApp BCSServiceApp { Name = "BCS Service Application" ApplicationPool = "SharePoint Service Applications" DatabaseName = "SP_BCS" DatabaseServer = $DatabaseServer InstallAccount = $InstallAccount DependsOn = @('[xSPServiceAppPool]MainServiceAppPool', '[xSPSecureStoreServiceApp]SecureStoreServiceApp') } #********************************************************** # Site Collections # # This section contains the site collections to provision #********************************************************** xSPSite TeamSite { Url = "http://$TeamSiteUrl" OwnerAlias = $InstallAccount.UserName HostHeaderWebApplication = "http://$WebAppUrl" Name = "Team Sites" Template = "STS#0" InstallAccount = $InstallAccount DependsOn = "[xSPWebApplication]HostNameSiteCollectionWebApp" } xSPSite MySiteHost { Url = "http://$MySiteHostUrl" OwnerAlias = $InstallAccount.UserName HostHeaderWebApplication = "http://$WebAppUrl" Name = "My Site Host" Template = "SPSMSITEHOST#0" InstallAccount = $InstallAccount DependsOn = "[xSPWebApplication]HostNameSiteCollectionWebApp" } #********************************************************** # Local configuration manager settings # # This section contains settings for the LCM of the host # that this configuraiton is applied to #********************************************************** LocalConfigurationManager { RebootNodeIfNeeded = $true } } }
10.2) Take a quick look at the DSC script. The first few lines are describing what mandatory parameters need to be passed on to the configuration template upon calling it. These parameters are:
Parameter Name | Description | My Value |
---|---|---|
$CredSSPDelegates | Name of the delegated server | *.contoso.com |
$SPBinaryPath | Absolute path to the SharePoint 2016 installer bits | F:\ |
$SPBinaryPathCredential | Account that has access to the location where the SharePoint 2016 installation bits are located. Any account with access will do. | contoso\sp_install |
$FarmAccount | SharePoint 2016 Farm Account | contoso\sp_farm |
$InstallAccount | Account used to install the SharePoint 2016 bits. | contoso\sp_install |
$ProductKey | The SharePoint 2016 Product key | NQGJR-63HC8-XCRQH-MYVCH-3J3QRTrial key for SharePoint 2016 Beta 2 (180 days) |
$DatabaseServer | Name of the associated SQL server. | localhost |
$FarmPassPhrase | Passphrase used to configure the farm and add additional servers. | pass@word1 |
$WebPoolManagedAccount | Account used to configure the application pool in IIS for the Web Applications. | contoso\sp_webapp |
$ServicePoolManagedAccount | Account used to configure the application pool in IIS for the Web Services. | contoso\sp_serviceapps |
$WebAppUrl | URL of the first web application to be created in the farm. | SP2016-DSCTBD |
$TeamSiteUrl | URL of the Root site collection associated with the Web Application. | http://localhost/ |
$MySiteHostUrl | URL of the My Site Host site collection. | http://localhost/personnal/ |
$CacheSizeInMB | Size of the Distributed Cache size in MB. | 300 |
10.3) Let us now create a second PowerShell script that will be responsible for declaring our parameters, and for calling the actual DSC configuration method, generating the .MOF files for our server.
."C:\Scripts\SharePoint2016Config.ps1" $CredSSPDelegates = "*.contoso.com" $SPBinaryPath = "F:\" $SPBinaryPathCredential = Get-Credential -UserName "contoso\sp_install" -Message "SP_Install" $FarmAccount = Get-Credential -UserName "contoso\sp_farm" -Message "SP_Farm" $InstallAccount = Get-Credential -UserName "contoso\sp_install" -Message "SP_Install" $ProductKey ="NQGJR-63HC8-XCRQH-MYVCH-3J3QR" $DatabaseServer = "SP2016-DSCTBD" $FarmPassPhrase = "pass@word1" $WebPoolManagedAccount = Get-Credential -UserName "contoso\sp_webapp" -Message "SP_WebApp" $ServicePoolManagedaccount = Get-Credential -UserName "contoso\sp_serviceapps" -Message "SP_ServiceApps" $WebAppUrl = "SP2016-DSCTBD" $TeamSiteUrl = "/" $MySiteHostUrl = "/personnal/" $CacheSizeInMB = 300 $ConfigData = @{ AllNodes = @( @{ NodeName = "SP2016-DSCTBD" PSDscAllowPlainTextPassword = $true }) } SharePointServer -ConfigurationData $ConfigData -CredSSPDelegates $CredSSPDelegates -SPBinaryPath $SPBinaryPath -ULSViewerPath "c:\tools\ULSViewer.exe" -SPBinaryPathCredential $SPBinaryPathCredential -FarmAccount $FarmAccount -InstallAccount $InstallAccount -ProductKey $ProductKey -DatabaseServer $DatabaseServer -FarmPassPhrase $FarmPassPhrase -WebPoolManagedAccount $WebPoolManagedAccount -ServicePoolManagedAccount $ServicePoolManagedAccount -WebAppUrl $WebAppurl -TeamSiteUrl $TeamSiteUrl -MySiteHostUrl $MySiteHostUrl -CacheSizeInMB $CacheSizeInMB
10.4) Let us now execute our script . In my case, I named it Execute.ps1 and stored it under C:\Scripts\ as well. Executing the script should generate two files: localhost.MOF and localhost.meta.MOF.
11 – Execute the Start-DSCConfiguration cmdlet
Now that we’ve generated the MOF files that are required to configure our server, we need to initiate a process on the PowerShell Local Configuration Machine to tell it to start configuring our server based on the specifications we specified in our DSC configuration script.
11.1) In a PowerShell session, execute the following line of code:
Start-DSCConfiguration -Path C:\Scripts\SharePointserver\ -Wait -Verbose -Force
12 – Reboot
After a little while, the Local Configuration Machine will require you to restart your server.
In step 5 we manually configure a new default instance of SQL Server 2016, presumably using this https://azure.microsoft.com/en-us/marketplace/partners/microsoft/sqlserver2016ctp3evaluationwindowsserver2012r2/
After that I am no longer certain which steps should be done on my local workstation and which on the server.
Or did I misunderstand and I should create that VM prior to step 1 and do everything on that machine?
Yes you are correct. This blog article was really just to introduce DSC in the context of SharePoint. Therefore everything is run on the same VM. I used Azure, so the OS on the VM was all preconfigured. I am currently working on a follow-up article that will go over how to configure your VM from ground up using DSC (including .NET Framework and SQL Server). It should be ready sometimes in January.
Hi Nik,
I tried to create a new SP farm with the new SharePointDSC resource, but when I run the execute.ps1 file I get the following error:
ConvertTo-MOFInstance : System.InvalidOperationException error processing property ‘FarmAccount’ OF TYPE ‘SPCreateFarm’: Converting and storing encrypted passwords as plain text is not recommended. For more information on securing
credentials in MOF file, please refer to MSDN blog: http://go.microsoft.com/fwlink/?LinkId=393729
I have already checked so I have PSDscAllowPlainTextPassword = $true defined.
Have you seen this error before?
-Simon
Hi Simon,
I have seen it whenever a GPO is not enabled to allow the delegation of fresh credentials (and NTLM). For more info, see the folowing article: https://thycotic.force.com/support/s/article/Configuring-CredSSP-for-use-with-WinRM-PowerShell.
If this still doesn’t work, please post your DSC configuration script here and I’ll be more than happy to help you troubleshoot it. Thanks,
Nik
Hi Nik,
I think that was the problem, now it is working in my lab env.
Thank you!
-Simon
Nik, Thanks for the steps, i’m having a few issues with the links provided….could you assist?
Can you elaborate on what is your issue?
The link for WMF 5.0 is broken. I’ve successfully found it else where downloaded and attempted to install on a newly stood up 2012r2 server and was giving message not applicable to this system. I’ve read that you need to make sure that you perform the WMF 4.0 install before 5.0. I successfully downloaded and installed this to the server as well and was giving the same message. Wasn’t sure if I missed something obvious or something that was not described in the article.
Thanks for any assistance provided.
What message are you given?
The update is not applicable to your computer.
I’ve attempted to install both 4.0 & 5.0
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.3.9600.17400
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
The target system is a 2012r2 server…am I just really missing something?
I’ve updated the link to the WMF 5 RTM, and made sure to put the one for W2012R2. Please try that one to see if you get the same error.
Nik, I’ve got everything I need. I really appreciate your quick response to my request.
Thanks again
Jeremiah