clean dev commit

This commit is contained in:
Torsten Brendgen
2026-06-27 23:18:34 +02:00
parent 01a535eb39
commit 846dccf468
7 changed files with 4189 additions and 4058 deletions

View File

@@ -1,14 +0,0 @@
@{
Resources = @{
NonNodeData = @{
Services = @{
ActiveDirectory = @{
Domain = @{
FQDN = "contoso.local"
NetBIOS = "Contoso"
}
}
}
}
}
}

View File

@@ -0,0 +1,161 @@
@{
Parameters = @{
DomainLabel = @{
Type = 'string'
DefaultValue = ''
Required = $false
MinLength = 2
MaxLength = 32
Pattern = '^[A-Za-z][A-Za-z0-9_-]*$'
Metadata = @{
Description = @{
'de-DE' = 'Kurzer logischer Bezeichner der Umgebung oder Domaene.'
'en-US' = 'Short logical identifier for the environment or domain.'
}
}
}
DomainFQDN = @{
Type = 'string'
DefaultValue = ''
Required = $true
Pattern = '^[A-Za-z0-9.-]+$'
Metadata = @{
Description = @{
'de-DE' = 'Vollqualifizierter DNS-Name der Active-Directory-Domaene.'
'en-US' = 'Fully qualified DNS name of the Active Directory domain.'
}
}
}
DomainNetBIOS = @{
Type = 'string'
DefaultValue = ''
Required = $true
MinLength = 1
MaxLength = 15
Pattern = '^[A-Za-z0-9_-]+$'
Metadata = @{
Description = @{
'de-DE' = 'NetBIOS-Name der Active-Directory-Domaene.'
'en-US' = 'NetBIOS name of the Active Directory domain.'
}
}
}
}
Resources = @{
NonNodeData = @{
RequiredModules = @(
@{
Name = 'ActiveDirectoryDsc'
Version = '6.7.1'
}
)
Services = @{
ActiveDirectory = @{
Domain = @{
Ensure = 'Present'
FQDN = "[parameters('DomainFQDN')]"
NetBIOS = "[parameters('DomainNetBIOS')]"
ForestMode = "[parameters('ForestMode')]"
DomainMode = "[parameters('DomainMode')]"
DnsDelegation = $false
Credentials = @{
DomainAdministrator = @{
CredentialName = "[parameters('DomainAdministratorCredentialName')]"
}
SafeModeAdministrator = @{
SecretName = "[parameters('SafeModeAdministratorPasswordSecretName')]"
}
}
}
DomainControllers = @(
@{
NodeName = '*'
Ensure = 'Present'
InstallDns = $true
IsGlobalCatalog = $true
SiteName = "[parameters('DefaultSiteName')]"
}
)
Sites = @(
@{
Name = "[parameters('DefaultSiteName')]"
Ensure = 'Present'
}
)
Subnets = @(
@{
Name = "[parameters('DefaultSubnet')]"
SiteName = "[parameters('DefaultSiteName')]"
Ensure = 'Present'
}
)
OrganizationalUnits = @(
@{
Name = 'Servers'
Path = "[concat('DC=', replace(parameters('DomainFQDN'), '.', ',DC='))]"
Ensure = 'Present'
ProtectedFromAccidentalDeletion = $true
}
@{
Name = 'Service Accounts'
Path = "[concat('DC=', replace(parameters('DomainFQDN'), '.', ',DC='))]"
Ensure = 'Present'
ProtectedFromAccidentalDeletion = $true
}
@{
Name = 'Groups'
Path = "[concat('DC=', replace(parameters('DomainFQDN'), '.', ',DC='))]"
Ensure = 'Present'
ProtectedFromAccidentalDeletion = $true
}
)
Groups = @(
@{
GroupName = 'GG-SharePoint-Admins'
Path = "[concat('OU=Groups,DC=', replace(parameters('DomainFQDN'), '.', ',DC='))]"
Scope = 'Global'
Category = 'Security'
Ensure = 'Present'
Members = @()
}
)
Users = @(
@{
UserName = 'SVC_SHP_Setup'
Path = "[concat('OU=Service Accounts,DC=', replace(parameters('DomainFQDN'), '.', ',DC='))]"
Ensure = 'Present'
Enabled = $true
Password = @{
SecretName = 'SVC_SHP_Setup'
}
}
)
Trusts = @()
Dns = @{
Forwarders = @()
ReverseLookupZones = @()
}
}
}
}
}
}

View File

@@ -0,0 +1,200 @@
@{
Parameters = @{
DatabasePrefix = @{
Type = 'string'
Value = 'SharePoint'
DefaultValue = 'SharePoint'
Metadata = @{
Description = @{
'de-DE' = 'Praefix fuer alle von der SharePoint-Farm angelegten Datenbanken.'
'en-US' = 'Prefix for all databases created by the SharePoint farm.'
}
}
}
ServiceDatabaseSegment = @{
Type = 'string'
DefaultValue = 'Services'
Metadata = @{
Description = @{
'de-DE' = 'Namenssegment fuer SharePoint-Service-Datenbanken innerhalb des Datenbanknamens.'
'en-US' = 'Name segment used for SharePoint service databases within the database name.'
}
}
}
ContentDatabaseSegment = @{
Type = 'string'
DefaultValue = 'Content'
Metadata = @{
Description = @{
'de-DE' = 'Namenssegment fuer SharePoint-Content-Datenbanken innerhalb des Datenbanknamens.'
'en-US' = 'Name segment used for SharePoint content databases within the database name.'
}
}
}
ServiceApplicationPoolDefault = @{
Type = 'string'
DefaultValue = 'SharePoint Service Applications'
Metadata = @{
Description = @{
'de-DE' = 'Anzeigename des Standard-Application-Pools fuer SharePoint-Serviceanwendungen.'
'en-US' = 'Display name of the default application pool for SharePoint service applications.'
}
}
}
ServiceApplicationPoolUserProfileService = @{
Type = 'string'
DefaultValue = 'SharePoint User Profile Services'
Metadata = @{
Description = @{
'de-DE' = 'Anzeigename des Application-Pools fuer den SharePoint User Profile Service.'
'en-US' = 'Display name of the application pool for the SharePoint User Profile Service.'
}
}
}
ServiceApplicationPoolDefaultAccount = @{
Type = 'string'
DefaultValue = 'SVC_SHP_SAP'
Metadata = @{
Description = @{
'de-DE' = 'Kontoname fuer den Standard-Application-Pool der SharePoint-Serviceanwendungen.'
'en-US' = 'Account name used by the default application pool for SharePoint service applications.'
}
}
}
WebApplicationPoolDefault = @{
Type = 'string'
DefaultValue = 'SharePoint Web Applications'
Metadata = @{
Description = @{
'de-DE' = 'Anzeigename des Standard-Application-Pools fuer SharePoint-Webanwendungen.'
'en-US' = 'Display name of the default application pool for SharePoint web applications.'
}
}
}
WebApplicationPoolDefaultAccount = @{
Type = 'string'
DefaultValue = 'SVC_SHP_WAP'
Metadata = @{
Description = @{
'de-DE' = 'Kontoname fuer den Standard-Application-Pool der SharePoint-Webanwendungen.'
'en-US' = 'Account name used by the default application pool for SharePoint web applications.'
}
}
}
DatabaseInstanceName = @{
Type = 'string'
DefaultValue = 'SQL_Server'
Metadata = @{
Description = @{
'de-DE' = 'Standard-SQL-Instanzname fuer SharePoint-Datenbankverbindungen und Aliase.'
'en-US' = 'Default SQL instance name used for SharePoint database connections and aliases.'
}
}
}
}
Variables = @{
ServiceDbPrefix = "[concat(parameters('DatabasePrefix'),'_',parameters('ServiceDatabaseSegment'),'_')]"
ContentDbPrefix = "[concat(parameters('DatabasePrefix'),'_',parameters('ContentDatabaseSegment'),'_')]"
ConfigDbName = "[concat(parameters('DatabasePrefix'),'_','Farm_Config')]"
AdminDbName = "[concat(parameters('DatabasePrefix'),'_','Farm_AdminContent')]"
}
Resources = @{
NonNodeData = @{
Services = @{
SharePoint = @{
General = @{
ProductKey = '0000-0000-0000-0000-0000'
}
Windows = @{
Registry = @{
DisableLoopbackCheck = @{
Path = 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa'
Name = 'DisableLoopbackCheck'
Type = 'DWord'
Value = 1
}
}
}
Database = @{
SQLAlias = @{
SQLServer = @{
ServerName = ''
InstanceName = "[parameters('DatabaseInstanceName')]"
TcpPort = 0
}
}
}
Farm = @{
Passphrase = 'Use-SecureString-Or-KeyVault'
ConfigDatabaseName = "[variables('ConfigDbName')]"
AdminContentDatabase = "[variables('AdminDbName')]"
CentralAdminPort = 2016
CentralAdminAuth = 'NTLM' # oder Kerberos
ServiceApplicationPools = @{
Default = @{
Name = "[parameters('ServiceApplicationPoolDefault')]"
Account = 'CONTOSO\sp_services'
}
UserProfile = @{
Name = "[parameters('ServiceApplicationPoolUserProfileService')]"
Account = 'CONTOSO\sp_ups'
}
}
ServiceApplications = @{
ManagedMetadataService = @{
Provision = $true
Name = 'Managed Metadata Service'
ApplicationPool = 'SharePoint Service Applications'
DatabaseName = "[concat(variables('ServiceDbPrefix'), 'ManagedMetadata')]"
}
UserProfileService = @{
Provision = $true
Name = 'User Profile Service'
ApplicationPool = 'SharePoint User Profile Services'
ProfileDBName = "[concat(variables('ServiceDbPrefix'), 'UserProfile_ProfileDB')]"
SocialDBName = "[concat(variables('ServiceDbPrefix'), 'UserProfile_SocialDB')]"
SyncDBName = "[concat(variables('ServiceDbPrefix'), 'UserProfile_SyncDB')]"
}
SearchService = @{
Provision = $true
Name = 'Search Service Application'
ApplicationPool = 'SharePoint Service Applications'
DatabaseName = "[concat(variables('ServiceDbPrefix'),'Search')]"
}
StateService = @{
Provision = $true
DatabaseName = "[concat(variables('ServiceDbPrefix'),'StateService')]"
}
UsageAndHealthService = @{
Provision = $true
DatabaseName = "[concat(variables('ServiceDbPrefix'),'UsageAndHealth')]"
}
AppManagementService = @{
Provision = $true
DatabaseName = "[concat(variables('ServiceDbPrefix'),'AppManagement')]"
}
SubscriptionSettingsService = @{
Provision = $true
DatabaseName = "[concat(variables('ServiceDbPrefix'),'SubscriptionSettings')]"
}
SecureStoreService = @{
Provision = $true
Name = 'Secure Store Service'
ApplicationPool = 'SharePoint Service Applications'
DatabaseName = "[concat(variables('ServiceDbPrefix'),'SecureStore')]"
}
}
}
}
}
}
}
}

View File

@@ -1,142 +0,0 @@
@{
Parameters = @{
DatabasePrefix = @{
Type = 'string'
Value = 'SharePoint'
DefaultValue = 'SP'
Metadata = @{
Description = 'Prefix für alle Datenbanknamen'
}
}
ServiceDatabasePrefix = @{
Type = 'string'
DefaultValue = 'Services'
}
ContentDatabasePrefix = @{
Type = 'string'
DefaultValue = 'Content'
}
ServiceApplicationPoolDefault = @{
Type = 'string'
DefaultValue = 'SharePoint Service Applications'
}
ServiceApplicationPoolUserProfileService = @{
Type = 'string'
DefaultValue = 'SharePoint User Profile Services'
}
DatbaseInstanceName = @{
Type = 'string'
DefaultValue = 'mssqlserver'
Metadata = @{
Description = 'Instanz Name für die Standart Instanz'
}
}
}
Variables = @{
ServiceDbPrefix = "[Concat(Parameter('DatabasePrefix'),'_',Parameter('ServiceDatabasePrefix'),'_')]"
ContentDbPrefix = "[Concat(Parameter('DatabasePrefix'),'_',Parameter('ServiceDatabasePrefix'),'_')]"
ConfigDbName = "[Concat(Parameter('DatabasePrefix'),'_','Farm_Config')]"
AdminDbName = "[Concat(Parameter('DatabasePrefix'),'_','Farm_AdminContent')]"
HZDTest = "[Substring(Parameter('DatbaseInstanceName'),0,5)]"
Test = "[ToUpper(Parameter('DatbaseInstanceName'),0,5)]"
}
Resources = @{
NonNodeData = @{
Services = @{
SharePoint = @{
General = @{
ProductKey = '0000-0000-0000-0000-0000'
}
Windows = @{
Registry = @{
DisableLoopbackCheck = @{
Path = 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa'
Name = 'DisableLoopbackCheck'
Type = 'DWord'
Value = 1
}
}
}
Database = @{
SQLAlias = @{
SQLServer = @{
ServerName = ''
InstanceName = ''
TcpPort = 0
}
}
}
Farm = @{
Passphrase = 'Use-SecureString-Or-KeyVault'
ConfigDatabaseName = "[Variable('ConfigDbName')]"
AdminContentDatabase = "[Variable('AdminDbName')]"
CentralAdminPort = 2016
CentralAdminAuth = 'NTLM' # oder Kerberos
ServiceApplicationPools = @{
Default = @{
Name = "[Parameter('ServiceApplicationPoolDefault')]"
Account = 'CONTOSO\sp_services'
}
UserProfile = @{
Name = "[Parameter('ServiceApplicationPoolUserProfileService')]"
Account = 'CONTOSO\sp_ups'
}
}
ServiceApplications = @{
ManagedMetadataService = @{
Provision = $true
Name = 'Managed Metadata Service'
ApplicationPool = 'SharePoint Service Applications'
DatabaseName = "[Concat(Variable('ServiceDbPrefix'), 'ManagedMetadata')]"
}
UserProfileService = @{
Provision = $true
Name = 'User Profile Service'
ApplicationPool = 'SharePoint User Profile Services'
ProfileDBName = "[Concat(Variable('ServiceDbPrefix'), 'UserProfile_ProfileDB')]"
SocialDBName = "[Concat(Variable('ServiceDbPrefix'), 'UserProfile_SocialDB')]"
SyncDBName = "[Concat(Variable('ServiceDbPrefix'), 'UserProfile_SyncDB')]"
}
SearchService = @{
Provision = $true
Name = 'Search Service Application'
ApplicationPool = 'SharePoint Service Applications'
DatabaseName = "[Concat(Variable('ServiceDbPrefix'),'Search')]"
}
StateService = @{
Provision = $true
DatabaseName = "[Concat(Variable('ServiceDbPrefix'),'StateService')]"
}
UsageAndHealthService = @{
Provision = $true
DatabaseName = "[Concat(Variable('ServiceDbPrefix'),'UsageAndHealth')]"
}
AppManagementService = @{
Provision = $true
DatabaseName = "[Concat(Variable('ServiceDbPrefix'),'AppManagement')]"
}
SubscriptionSettingsService = @{
Provision = $true
DatabaseName = "[Concat(Variable('ServiceDbPrefix'),'SubscriptionSettings')]"
}
SecureStoreService = @{
Provision = $true
Name = 'Secure Store Service'
ApplicationPool = 'SharePoint Service Applications'
DatabaseName = "[Concat(Variable('ServiceDbPrefix'),'SecureStore')]"
}
}
}
}
}
}
}
}