diff --git a/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 b/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 new file mode 100644 index 000000000..fbce04c29 --- /dev/null +++ b/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 @@ -0,0 +1,406 @@ +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. + #********************************************************** + + xDisk LogsDisk { DiskNumber = 2; DriveLetter = "l" } + xDisk IndexDisk { DiskNumber = 3; DriveLetter = "i" } + 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 + } + File UlsViewerDownload + { + DestinationPath = "L:\UlsViewer.exe" + Credential = $SPBinaryPathCredential + Ensure = "Present" + SourcePath = $ULSViewerPath + Type = "File" + DependsOn = "[xDisk]LogsDisk" + } + + #********************************************************** + # Binary installation + # + # This section triggers installation of both SharePoint + # as well as the prerequisites required + #********************************************************** + xSPClearRemoteSessions ClearRemotePowerShellSessions + { + ClearRemoteSessions = $true + } + 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" + DependsOn = "[xSPClearRemoteSessions]ClearRemotePowerShellSessions" + } + xSPInstall InstallBinaries + { + BinaryDir = "C:\SPInstall" + ProductKey = $ProductKey + 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 = "L:\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", "[xDisk]LogsDisk") + } + xSPUsageApplication UsageApplication + { + Name = "Usage Service Application" + DatabaseName = "SP_Usage" + UsageLogCutTime = 5 + UsageLogLocation = "L:\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') + } + + #********************************************************** + # 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 + } + } +} \ No newline at end of file diff --git a/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 b/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 new file mode 100644 index 000000000..47ceaf129 --- /dev/null +++ b/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 @@ -0,0 +1,170 @@ +Configuration SharePointAppServer +{ + 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] $MySiteHostUrl, + [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $TeamSiteUrl, + [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. + #********************************************************** + + xDisk LogsDisk { DiskNumber = 2; DriveLetter = "l" } + xDisk IndexDisk { DiskNumber = 3; DriveLetter = "i" } + 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 + } + File UlsViewerDownload + { + DestinationPath = "L:\UlsViewer.exe" + Credential = $SPBinaryPathCredential + Ensure = "Present" + SourcePath = $ULSViewerPath + Type = "File" + DependsOn = "[xDisk]LogsDisk" + } + + #********************************************************** + # Binary installation + # + # This section triggers installation of both SharePoint + # as well as the prerequisites required + #********************************************************** + + xSPClearRemoteSessions ClearRemotePowerShellSessions + { + ClearRemoteSessions = $true + } + 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" + DependsOn = "[xSPClearRemoteSessions]ClearRemotePowerShellSessions" + } + xSPInstall InstallBinaries + { + BinaryDir = "C:\SPInstall" + ProductKey = $ProductKey + 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 + #********************************************************** + + xSPJoinFarm JoinSPFarm + { + DatabaseServer = $DatabaseServer + FarmConfigDatabaseName = "SP_Config" + Passphrase = $FarmPassPhrase + FarmAccount = $FarmAccount + InstallAccount = $InstallAccount + DependsOn = "[xSPInstall]InstallBinaries" + } + + #********************************************************** + # 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 = "[xSPJoinFarm]JoinSPFarm" + } + xSPServiceInstance UserProfileServiceInstance + { + Name = "User Profile Service" + Ensure = "Present" + InstallAccount = $InstallAccount + DependsOn = "[xSPJoinFarm]JoinSPFarm" + } + + #********************************************************** + # Local configuration manager settings + # + # This section contains settings for the LCM of the host + # that this configuraiton is applied to + #********************************************************** + LocalConfigurationManager + { + RebootNodeIfNeeded = $true + } + } +} \ No newline at end of file diff --git a/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 b/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 new file mode 100644 index 000000000..ab8640120 --- /dev/null +++ b/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 @@ -0,0 +1,377 @@ +Configuration SharePointFarmServer +{ + 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] $MySiteHostUrl, + [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $TeamSiteUrl, + [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. + #********************************************************** + + xDisk LogsDisk { DiskNumber = 2; DriveLetter = "l" } + xDisk IndexDisk { DiskNumber = 3; DriveLetter = "i" } + 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 + } + File UlsViewerDownload + { + DestinationPath = "L:\UlsViewer.exe" + Credential = $SPBinaryPathCredential + Ensure = "Present" + SourcePath = $ULSViewerPath + Type = "File" + DependsOn = "[xDisk]LogsDisk" + } + + #********************************************************** + # Binary installation + # + # This section triggers installation of both SharePoint + # as well as the prerequisites required + #********************************************************** + + xSPClearRemoteSessions ClearRemotePowerShellSessions + { + ClearRemoteSessions = $true + } + 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" + DependsOn = "[xSPClearRemoteSessions]ClearRemotePowerShellSessions" + } + xSPInstall InstallBinaries + { + BinaryDir = "C:\SPInstall" + ProductKey = $ProductKey + 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 = "L:\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", "[xDisk]LogsDisk") + } + xSPUsageApplication UsageApplication + { + Name = "Usage Service Application" + DatabaseName = "SP_Usage" + UsageLogCutTime = 5 + UsageLogLocation = "L:\UsageLogs" + UsageLogMaxFileSizeKB = 1024 + InstallAccount = $InstallAccount + DependsOn = "[xSPCreateFarm]CreateSPFarm" + } + xSPStateServiceApp StateServiceApp + { + Name = "State Service Application" + DatabaseName = "SP_State" + InstallAccount = $InstallAccount + DependsOn = "[xSPCreateFarm]CreateSPFarm" + } + + #********************************************************** + # 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" + } + 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 + } + } +} \ No newline at end of file diff --git a/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 b/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 new file mode 100644 index 000000000..7118e5b3c --- /dev/null +++ b/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 @@ -0,0 +1,194 @@ +Configuration SharePointWFEServer +{ + 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] $MySiteHostUrl, + [Parameter(Mandatory=$true)] [ValidateNotNullorEmpty()] [string] $TeamSiteUrl, + [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. + #********************************************************** + + xDisk LogsDisk { DiskNumber = 2; DriveLetter = "l" } + xDisk IndexDisk { DiskNumber = 3; DriveLetter = "i" } + 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 + } + File UlsViewerDownload + { + DestinationPath = "L:\UlsViewer.exe" + Credential = $SPBinaryPathCredential + Ensure = "Present" + SourcePath = $ULSViewerPath + Type = "File" + DependsOn = "[xDisk]LogsDisk" + } + + #********************************************************** + # Binary installation + # + # This section triggers installation of both SharePoint + # as well as the prerequisites required + #********************************************************** + + xSPClearRemoteSessions ClearRemotePowerShellSessions + { + ClearRemoteSessions = $true + } + 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" + DependsOn = "[xSPClearRemoteSessions]ClearRemotePowerShellSessions" + } + xSPInstall InstallBinaries + { + BinaryDir = "C:\SPInstall" + ProductKey = $ProductKey + 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 + #********************************************************** + + xSPJoinFarm JoinSPFarm + { + DatabaseServer = $DatabaseServer + FarmConfigDatabaseName = "SP_Config" + Passphrase = $FarmPassPhrase + FarmAccount = $FarmAccount + InstallAccount = $InstallAccount + DependsOn = "[xSPInstall]InstallBinaries" + } + xSPDistributedCacheService EnableDistributedCache + { + Name = "AppFabricCachingService" + Ensure = "Present" + CacheSizeInMB = $CacheSizeInMB + ServiceAccount = $ServicePoolManagedAccount.UserName + InstallAccount = $InstallAccount + CreateFirewallRules = $true + DependsOn = "[xSPJoinFarm]JoinSPFarm" + } + + #********************************************************** + # 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 = "[xSPJoinFarm]JoinSPFarm" + } + xSPServiceInstance SecureStoreServiceInstance + { + Name = "Secure Store Service" + Ensure = "Present" + InstallAccount = $InstallAccount + DependsOn = "[xSPJoinFarm]JoinSPFarm" + } + xSPServiceInstance ManagedMetadataServiceInstance + { + Name = "Managed Metadata Web Service" + Ensure = "Present" + InstallAccount = $InstallAccount + DependsOn = "[xSPJoinFarm]JoinSPFarm" + } + xSPServiceInstance BCSServiceInstance + { + Name = "Business Data Connectivity Service" + Ensure = "Present" + InstallAccount = $InstallAccount + DependsOn = "[xSPJoinFarm]JoinSPFarm" + } + + #********************************************************** + # Local configuration manager settings + # + # This section contains settings for the LCM of the host + # that this configuraiton is applied to + #********************************************************** + LocalConfigurationManager + { + RebootNodeIfNeeded = $true + } + } +} \ No newline at end of file diff --git a/Modules/xSharePoint/xSharePoint.pssproj b/Modules/xSharePoint/xSharePoint.pssproj index ec2baab12..81780c488 100644 --- a/Modules/xSharePoint/xSharePoint.pssproj +++ b/Modules/xSharePoint/xSharePoint.pssproj @@ -73,8 +73,11 @@ + + + @@ -127,6 +130,10 @@ + + + +