Introduction
The xSCSPF module is a part of the Windows
PowerShell Desired State Configuration (DSC) Resource Kit, which is a collection
of DSC Resources produced by the PowerShell Team. This module contains
the following resources for installation of System Center Service Provider
Foundation (SPF):
-
xSCSPFServer for adding a server in SPF.
-
xSCSPFServerSetup for installation of the SPF server.
-
xSCSPFServerUpdate for updating and SPF server to Update
Rollup 4.
-
xSCSPFSetting for adding a setting in SPF.
-
xSCSPFStamp for adding a stamp in SPF.
All of the resources in the DSC Resource Kit are provided AS IS, and
are not supported through any Microsoft standard support program or service.
The ""x" in xSCSPF stands for experimental, which means that these
resources will be fix forward and monitored by the module
owner(s).
Please leave comments, feature requests, and bug reports in the Q & A tab
for this module.
If you would like to modify xSCSPF module, feel free. When
modifying, please update the module name, resource friendly name, and MOF class
name (instructions below). As specified in the license, you may copy or modify
this resource as long as they are used on the Windows Platform.
For more information about Windows PowerShell Desired State Configuration,
check out the blog posts on the PowerShell Blog (this is a good starting point). There
are also great community resources, such as PowerShell.org, or PowerShell Magazine. For more
information on the DSC Resource Kit, check out this blog post.
Installation
To install the xSCSPF module
- If you are using WMF4 / PowerShell Version 4: Unzip the content under
$env:ProgramFiles\WindowsPowerShell\Modules folder
- If you are using WMF5 Preview: From an elevated PowerShell session run
‘Install-Module xSCSPF’
To confirm installation:
- Run Get-DSCResource to see that
xSCSPFServer, xSCSPFServerSetup, xSCSPFServerUpdate, xSCSPFSetting, and xSCSPFStamp are among the DSC
Resources listed.
Requirements
This module requires at least the PowerShell v4.0, which ships in Windows 8.1
or Windows Server 2012R2. To easily use PowerShell 4.0 on older operating
systems, install WMF 4.0. Please read the
installation instructions that are present on both the download page and the
release notes for WMF 4.0.
Details
The xSCSPF module contains the following DSC
resources:
xSCSPFServer has the following properties:
-
Ensure:
An enumerated value that describes if the SPF server exists
-
Name:
KEY - Specifies a name for the server.
-
ServerType:
REQUIRED - Specifies the type of server. "VMM","OM","DPM","OMDW","RDGateway","Orchestrator","None"
-
SCSPFAdminCredential:
REQUIRED - Credential with admin permissions to Service Provider Foundation.
xSCSPFServerSetup is used for installation of the SPF
server, and has the following properties:
-
Ensure:
KEY - An enumerated value (Present, Absent) that describes if the SPF
server is expected to be installed on the machine.
-
SourcePath:
REQUIRED - UNC path to the root of the source files for installation.
-
SourceFolder:
Folder within the source path containing the source files for
installation.
-
SetupCredential:
REQUIRED - Credential to be used to perform the installation.
-
SendCEIPReports:
Binary, indicating whether or not to participate in the Customer
Experience Improvement Program.
-
UseMicrosoftUpdate:
Binary, indicating whether or not to use Microsoft Update.
-
SpecifyCertificate:
Use an existing certificate.
-
CertificateName:
Name of existing certificate to use.
-
DatabaseServer:
REQUIRED - Name of the database server.
-
DatabasePortNumber:
Port of the database server instance.
-
DatabaseName:
Name of the SPF database.
-
WebSitePortNumber:
Port for the SPF web service.
-
SCVMM:
Credential for the VMM application pool.
-
SCVMMUsername:
Output username of the VMM application pool service.
-
SCAdmin:
Credential for the Admin application pool.
-
SCAdminUsername:
Output username of the Admin application pool service.
-
SCProvider:
Credential for the Provider application pool.
-
SCProviderUsername:
Output username of the Provider application pool service.
-
SCUsage:
Credential for the Usage application pool.
-
SCUsageUsername:
Output username of the Usage application pool service.
-
VMMSecurityGroupUsers:
Administrator of the VMM application pool.
-
AdminSecurityGroupUsers:
Administrator of the Admin application pool
-
ProviderSecurityGroupUsers:
Administrator of the Provider application pool
-
UsageSecurityGroupUsers:
Administrator of the Usage application pool
xSCSPFServerUpdate has the following properties:
-
Ensure:
KEY - An enumerated value that describes if the update is expected to
be installed on the machine.
-
SourcePath:
REQUIRED - UNC path to the root of the source files for installation.
-
SourceFolder:
Folder within the source path containing the source files for
installation.
-
Credential:
REQUIRED - Credential to be used to perform the installation.
-
Update:
Output display name of the update.
xSCSPFSetting has the following properties:
-
Ensure:
An enumerated value that describes if the SPF setting exists.
-
ServerName:
KEY - Specifies the name of the server the setting is associated with.
-
SettingType:
REQUIRED - Specifies either DatabaseConnectionString or EndPointConnectionString.
-
Name:
KEY - Specifies a friendly name for the setting.
-
Value:
REQUIRED - Specifies the value for the setting.
-
SCSPFAdminCredential:
REQUIRED - Credential with admin permissions to Service Provider Foundation.
xSCSPFStamp has the following properties:
-
Ensure:
An enumerated value that describes if the SPF stamp exists.
-
Name:
KEY - Specifies a name for the stamp.
-
Servers:
REQUIRED - Specifies the name of one or more server objects to associate with the new stamp.
-
SCSPFAdminCredential:
REQUIRED - Credential with admin permissions to Service Provider Foundation.
Renaming
Requirements
When making changes to these resources, we suggest the following
practice:
- Update the following names by replacing MSFT with your
company/community name and replacing the "x" with
"c" (short for "Community") or another prefix of your choice:
- Module name (ex: xSCSPF becomes
cSCSPF)
- Resource folder (ex: MSFT_xSCSPFServerSetup becomes
Contoso_cSCSPFServerSetup)
- Resource Name (ex: MSFT_xSCSPFServerSetup becomes
Contoso_cSCSPFServerSetup)
- Resource Friendly Name (ex: xSCSPFServerSetup becomes
cSCSPFServerSetup)
- MOF class name (ex: MSFT_xSCSPFServerSetup becomes
Contoso_cSCSPFServerSetup)
- Filename for the <resource>.schema.mof (ex:
MSFT_xSCSPFServerSetup.schema.mof becomes
Contoso_cSCSPFServerSetup.schema.mof)
- Update module and metadata information in the module
manifest
- Update any configuration that use these resources
We reserve resource and module names without prefixes ("x" or "c") for
future use (e.g. "MSFT_SCSPFServerSetup" or "SCSPFServerSetup"). If the next
version of Windows Server ships with "MSFT_SCSPFServerSetup" resources, we don't
want to break any configurations that use any community modifications. Please
keep a prefix such as "c" on all community modifications.
Versions
1.3.1.0
-
Updated with the following resources
- xSCSPFServer
- xSCSPFSetting
- xSCSPFStamp
1.2.0.0
-
Updated with the following resources
1.1.0.0
-
Initial release with the following resources
Examples
Three example configurations are included in the Examples folder. All three
examples also use the xSQLServer and xSCVMM modules.
Note: the samples require the use of the Windows Management Framework (WMF) 5.0
Preview.
Single Server Installation: SCSPF-SingleServer.ps1 installs
SPF including prerequisites and SQL on a single server.
Separate SQL: SCSPF-SeperateSQL.ps1 installs SPF on one
server and SQL on a separate server.
Multiple Instances: SCSPF-MultiInstance.ps1 installs
multiple SPF servers each on their own server and SQL on a seperate server.
Note that all three examples use the exact same Configuration and just modify
the behavior based on input ConfigurationData.
In the Examples folder you will see a version of each file with "-TP"
appended to the name. These are the equivalent examples for deployment of System
Center Technical Preview on Windows Server Technical Preview.