Skip to content

Commit c1baa96

Browse files
authored
Merge pull request AutomatedLab#1789 from constantinhager/ValidationSettings
Add Validation settings for SQLServer2012, HyperV and FailoverNode
2 parents 420ccb8 + 0e5a001 commit c1baa96

File tree

3 files changed

+174
-4
lines changed

3 files changed

+174
-4
lines changed

.vscode/settings.json

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,28 @@
33
"workbench.colorCustomizations": {
44
"editor.lineHighlightBackground": "#1073cf2d",
55
"editor.lineHighlightBorder": "#9fced11f"
6-
}
7-
}
6+
},
7+
"[powershell]": {
8+
"files.trimTrailingWhitespace": false,
9+
"files.trimFinalNewlines": false,
10+
"files.insertFinalNewline": false,
11+
12+
},
13+
"powershell.codeFormatting.autoCorrectAliases": false,
14+
"powershell.codeFormatting.useConstantStrings": false,
15+
"powershell.codeFormatting.useCorrectCasing": false,
16+
"powershell.codeFormatting.trimWhitespaceAroundPipe": false,
17+
"powershell.codeFormatting.ignoreOneLineBlock": true,
18+
"powershell.codeFormatting.pipelineIndentationStyle": "NoIndentation",
19+
"powershell.codeFormatting.preset": "Custom",
20+
"powershell.codeFormatting.openBraceOnSameLine": true,
21+
"powershell.codeFormatting.newLineAfterOpenBrace": true,
22+
"powershell.codeFormatting.newLineAfterCloseBrace": true,
23+
"powershell.codeFormatting.whitespaceBeforeOpenBrace": true,
24+
"powershell.codeFormatting.whitespaceBeforeOpenParen": true,
25+
"powershell.codeFormatting.whitespaceAroundOperator": true,
26+
"powershell.codeFormatting.whitespaceAfterSeparator": true,
27+
"powershell.codeFormatting.whitespaceBetweenParameters": false,
28+
"powershell.codeFormatting.whitespaceInsideBrace": true,
29+
"powershell.codeFormatting.addWhitespaceAroundPipe": false
30+
}

AutomatedLabCore/internal/scripts/Initialization.ps1

Lines changed: 144 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -896,7 +896,147 @@ ECDSA_P384#Microsoft Smart Card Key Storage Provider =>'sha256','sha384','sha512
896896
'UseMicrosoftUpdate' = '[string] 0 or 1, incicates that MS Update should be used. Defaults to 0'
897897
'AcceptEndUserLicenseAgreement' = '[string] Accept EULA. Defaults to 1. THERE IS NO POINT OF USING 0 IN A LAB'
898898
}
899-
899+
900+
FailoverNode = @{
901+
'ClusterName' = '[string] The name of the cluster the node will join.'
902+
'ClusterIP' = '[string] The IP address of the cluster.'
903+
}
904+
HyperV = @{
905+
'MaximumStorageMigrations' = '[uint32] The maximum number of storage migrations allowed.'
906+
'MaximumVirtualMachineMigrations' = '[uint32] The maximum number of virtual machine migrations allowed.'
907+
'VirtualMachineMigrationAuthenticationType' = '[Microsoft.HyperV.PowerShell.MigrationAuthenticationType] The authentication type for virtual machine migration.'
908+
'UseAnyNetworkForMigration' = '[bool] Whether to use any network for migration.'
909+
'VirtualMachineMigrationPerformanceOption' = '[Microsoft.HyperV.PowerShell.VMMigrationPerformance] The performance option for virtual machine migration.'
910+
'ResourceMeteringSaveInterval' = '[timespan] The save interval for resource metering.'
911+
'NumaSpanningEnabled' = '[bool] Whether NUMA spanning is enabled.'
912+
'EnableEnhancedSessionMode' = '[bool] Whether enhanced session mode is enabled.'
913+
}
914+
SQLServer2012 = @{
915+
'Features' = '[string[]] The features to install. Possible values: SQLENGINE, REPLICATION, FULLTEXT, RS, AS, IS, MDS, DQC, CONN, BC, SDK, TOOLS, OCS'
916+
'ConfigurationFile' = '[string] The path to the configuration file.'
917+
'InstanceName' = '[string] The name of the SQL Server instance.'
918+
'Collation' = '[string] The collation for the SQL Server instance.'
919+
'SQLSvcAccount' = '[string] The account to run the SQL Server service.'
920+
'SQLSvcPassword' = '[string] The password for the SQL Server service account.'
921+
'AgtSvcAccount' = '[string] The account to run the SQL Server Agent service.'
922+
'AgtSvcPassword' = '[string] The password for the SQL Server Agent service account.'
923+
'RsSvcAccount' = '[string] The account to run the SQL Server Reporting Services service.'
924+
'RsSvcPassword' = '[string] The password for the SQL Server Reporting Services service account.'
925+
'AgtSvcStartupType' = '[string] The startup type for the SQL Server Agent service.'
926+
'BrowserSvcStartupType' = '[string] The startup type for the SQL Server Browser service.'
927+
'RsSvcStartupType' = '[string] The startup type for the SQL Server Reporting Services service.'
928+
'AsSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
929+
'AsSvcAccount' = '[string] The account to run the SQL Server Analysis Services service.'
930+
'AsSvcPassword' = '[string] The password for the SQL Server Analysis Services service account.'
931+
'IsSvcAccount' = '[string] The account to run the SQL Server Integration Services service.'
932+
'IsSvcPassword' = '[string] The password for the SQL Server Integration Services service account.'
933+
'SQLSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
934+
}
935+
SQLServer2014 = @{
936+
'Features' = '[string[]] The features to install. Possible values: SQLENGINE, REPLICATION, FULLTEXT, RS, AS, IS, MDS, DQC, CONN, BC, SDK, TOOLS, OCS'
937+
'ConfigurationFile' = '[string] The path to the configuration file.'
938+
'InstanceName' = '[string] The name of the SQL Server instance.'
939+
'Collation' = '[string] The collation for the SQL Server instance.'
940+
'SQLSvcAccount' = '[string] The account to run the SQL Server service.'
941+
'SQLSvcPassword' = '[string] The password for the SQL Server service account.'
942+
'AgtSvcAccount' = '[string] The account to run the SQL Server Agent service.'
943+
'AgtSvcPassword' = '[string] The password for the SQL Server Agent service account.'
944+
'RsSvcAccount' = '[string] The account to run the SQL Server Reporting Services service.'
945+
'RsSvcPassword' = '[string] The password for the SQL Server Reporting Services service account.'
946+
'AgtSvcStartupType' = '[string] The startup type for the SQL Server Agent service.'
947+
'BrowserSvcStartupType' = '[string] The startup type for the SQL Server Browser service.'
948+
'RsSvcStartupType' = '[string] The startup type for the SQL Server Reporting Services service.'
949+
'AsSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
950+
'AsSvcAccount' = '[string] The account to run the SQL Server Analysis Services service.'
951+
'AsSvcPassword' = '[string] The password for the SQL Server Analysis Services service account.'
952+
'IsSvcAccount' = '[string] The account to run the SQL Server Integration Services service.'
953+
'IsSvcPassword' = '[string] The password for the SQL Server Integration Services service account.'
954+
'SQLSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
955+
}
956+
SQLServer2016 = @{
957+
'Features' = '[string[]] The features to install. Possible values: SQLENGINE, REPLICATION, FULLTEXT, RS, AS, IS, MDS, DQC, CONN, BC, SDK, TOOLS, OCS'
958+
'ConfigurationFile' = '[string] The path to the configuration file.'
959+
'InstanceName' = '[string] The name of the SQL Server instance.'
960+
'Collation' = '[string] The collation for the SQL Server instance.'
961+
'SQLSvcAccount' = '[string] The account to run the SQL Server service.'
962+
'SQLSvcPassword' = '[string] The password for the SQL Server service account.'
963+
'AgtSvcAccount' = '[string] The account to run the SQL Server Agent service.'
964+
'AgtSvcPassword' = '[string] The password for the SQL Server Agent service account.'
965+
'RsSvcAccount' = '[string] The account to run the SQL Server Reporting Services service.'
966+
'RsSvcPassword' = '[string] The password for the SQL Server Reporting Services service account.'
967+
'AgtSvcStartupType' = '[string] The startup type for the SQL Server Agent service.'
968+
'BrowserSvcStartupType' = '[string] The startup type for the SQL Server Browser service.'
969+
'RsSvcStartupType' = '[string] The startup type for the SQL Server Reporting Services service.'
970+
'AsSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
971+
'AsSvcAccount' = '[string] The account to run the SQL Server Analysis Services service.'
972+
'AsSvcPassword' = '[string] The password for the SQL Server Analysis Services service account.'
973+
'IsSvcAccount' = '[string] The account to run the SQL Server Integration Services service.'
974+
'IsSvcPassword' = '[string] The password for the SQL Server Integration Services service account.'
975+
'SQLSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
976+
}
977+
SQLServer2017 = @{
978+
'Features' = '[string[]] The features to install. Possible values: SQLENGINE, REPLICATION, FULLTEXT, RS, AS, IS, MDS, DQC, CONN, BC, SDK, TOOLS, OCS'
979+
'ConfigurationFile' = '[string] The path to the configuration file.'
980+
'InstanceName' = '[string] The name of the SQL Server instance.'
981+
'Collation' = '[string] The collation for the SQL Server instance.'
982+
'SQLSvcAccount' = '[string] The account to run the SQL Server service.'
983+
'SQLSvcPassword' = '[string] The password for the SQL Server service account.'
984+
'AgtSvcAccount' = '[string] The account to run the SQL Server Agent service.'
985+
'AgtSvcPassword' = '[string] The password for the SQL Server Agent service account.'
986+
'RsSvcAccount' = '[string] The account to run the SQL Server Reporting Services service.'
987+
'RsSvcPassword' = '[string] The password for the SQL Server Reporting Services service account.'
988+
'AgtSvcStartupType' = '[string] The startup type for the SQL Server Agent service.'
989+
'BrowserSvcStartupType' = '[string] The startup type for the SQL Server Browser service.'
990+
'RsSvcStartupType' = '[string] The startup type for the SQL Server Reporting Services service.'
991+
'AsSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
992+
'AsSvcAccount' = '[string] The account to run the SQL Server Analysis Services service.'
993+
'AsSvcPassword' = '[string] The password for the SQL Server Analysis Services service account.'
994+
'IsSvcAccount' = '[string] The account to run the SQL Server Integration Services service.'
995+
'IsSvcPassword' = '[string] The password for the SQL Server Integration Services service account.'
996+
'SQLSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
997+
}
998+
SQLServer2019 = @{
999+
'Features' = '[string[]] The features to install. Possible values: SQLENGINE, REPLICATION, FULLTEXT, RS, AS, IS, MDS, DQC, CONN, BC, SDK, TOOLS, OCS'
1000+
'ConfigurationFile' = '[string] The path to the configuration file.'
1001+
'InstanceName' = '[string] The name of the SQL Server instance.'
1002+
'Collation' = '[string] The collation for the SQL Server instance.'
1003+
'SQLSvcAccount' = '[string] The account to run the SQL Server service.'
1004+
'SQLSvcPassword' = '[string] The password for the SQL Server service account.'
1005+
'AgtSvcAccount' = '[string] The account to run the SQL Server Agent service.'
1006+
'AgtSvcPassword' = '[string] The password for the SQL Server Agent service account.'
1007+
'RsSvcAccount' = '[string] The account to run the SQL Server Reporting Services service.'
1008+
'RsSvcPassword' = '[string] The password for the SQL Server Reporting Services service account.'
1009+
'AgtSvcStartupType' = '[string] The startup type for the SQL Server Agent service.'
1010+
'BrowserSvcStartupType' = '[string] The startup type for the SQL Server Browser service.'
1011+
'RsSvcStartupType' = '[string] The startup type for the SQL Server Reporting Services service.'
1012+
'AsSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
1013+
'AsSvcAccount' = '[string] The account to run the SQL Server Analysis Services service.'
1014+
'AsSvcPassword' = '[string] The password for the SQL Server Analysis Services service account.'
1015+
'IsSvcAccount' = '[string] The account to run the SQL Server Integration Services service.'
1016+
'IsSvcPassword' = '[string] The password for the SQL Server Integration Services service account.'
1017+
'SQLSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
1018+
}
1019+
SQLServer2022 = @{
1020+
'Features' = '[string[]] The features to install. Possible values: SQLENGINE, REPLICATION, FULLTEXT, RS, AS, IS, MDS, DQC, CONN, BC, SDK, TOOLS, OCS'
1021+
'ConfigurationFile' = '[string] The path to the configuration file.'
1022+
'InstanceName' = '[string] The name of the SQL Server instance.'
1023+
'Collation' = '[string] The collation for the SQL Server instance.'
1024+
'SQLSvcAccount' = '[string] The account to run the SQL Server service.'
1025+
'SQLSvcPassword' = '[string] The password for the SQL Server service account.'
1026+
'AgtSvcAccount' = '[string] The account to run the SQL Server Agent service.'
1027+
'AgtSvcPassword' = '[string] The password for the SQL Server Agent service account.'
1028+
'RsSvcAccount' = '[string] The account to run the SQL Server Reporting Services service.'
1029+
'RsSvcPassword' = '[string] The password for the SQL Server Reporting Services service account.'
1030+
'AgtSvcStartupType' = '[string] The startup type for the SQL Server Agent service.'
1031+
'BrowserSvcStartupType' = '[string] The startup type for the SQL Server Browser service.'
1032+
'RsSvcStartupType' = '[string] The startup type for the SQL Server Reporting Services service.'
1033+
'AsSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
1034+
'AsSvcAccount' = '[string] The account to run the SQL Server Analysis Services service.'
1035+
'AsSvcPassword' = '[string] The password for the SQL Server Analysis Services service account.'
1036+
'IsSvcAccount' = '[string] The account to run the SQL Server Integration Services service.'
1037+
'IsSvcPassword' = '[string] The password for the SQL Server Integration Services service account.'
1038+
'SQLSysAdminAccounts' = '[string[]] The accounts to add to the SQL Server sysadmin role.'
1039+
}
9001040
ScomReporting = @{
9011041
'ManagementServer' = '[string] Name of the SCOM management server'
9021042
'SRSInstance' = '[string] SQL Reporting Services Instance'
@@ -905,6 +1045,7 @@ ECDSA_P384#Microsoft Smart Card Key Storage Provider =>'sha256','sha384','sha512
9051045
'SendODRReports' = '[string] 0 or 1, indicated that reports should be sent. Defaults to 0'
9061046
'UseMicrosoftUpdate' = '[string] 0 or 1, incicates that MS Update should be used. Defaults to 0'
9071047
'AcceptEndUserLicenseAgreement' = '[string] Accept EULA. Defaults to 1. THERE IS NO POINT OF USING 0 IN A LAB'
1048+
'InstallLocation' = '[string] Installation directory, defaults to C:\Program Files\Microsoft System Center\Operations Manager'
9081049
}
9091050
RemoteDesktopSessionHost = @{
9101051
'CollectionName' = '[string] Name of the collection'
@@ -934,7 +1075,8 @@ ECDSA_P384#Microsoft Smart Card Key Storage Provider =>'sha256','sha384','sha512
9341075
'DatabaseName' = '[string] Name of the Database to use'
9351076
'WsusContentPath' = '[string] WSUS content directory'
9361077
'AdminUser' = '[string] Name of admin user'
937-
}
1078+
'ProductId' = '[string] Product Key'
1079+
}
9381080
}
9391081
MandatoryRoleProperties = @{
9401082
ADFSProxy = @(

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
## Unreleased (2025-08-21)
44

5+
- Added The following new ValidRoleProperties:
6+
- SQLServer2012 - 2022
7+
- FailOverNode
8+
- HyperV
9+
510
### Added
611

712
- Add option to opt out of Storage Account creation (#1753)

0 commit comments

Comments
 (0)