private static SqlVirtualMachineModel prepareMachine(SqlVirtualMachineTestContext context, SqlVirtualMachineGroup group, VirtualMachine vm, string domain, string login, string password) { // Create the sql virtual machine SqlVirtualMachineModel sqlVM = CreateSqlVirtualMachine(context, virtualMachine: vm); // Join domain IVirtualMachineExtensionsOperations operations = context.client.computeClient.VirtualMachineExtensions; VirtualMachineExtension joinDomain = operations.CreateOrUpdate(context.resourceGroup.Name, vm.Name, "joindomain", new VirtualMachineExtension() { Location = context.location, Publisher = "Microsoft.Compute", VirtualMachineExtensionType = "JsonADDomainExtension", TypeHandlerVersion = "1.3", AutoUpgradeMinorVersion = true, Settings = new JoinDomainSettings() { Name = domain + ".com", OUPath = "", User = domain + "\\" + login, Restart = "true", Options = "3" }, ProtectedSettings = new JoinDomainProtectedSettings() { Password = password } }); // Join sql virtual machine group context.getSqlClient().SqlVirtualMachines.CreateOrUpdate(context.resourceGroup.Name, sqlVM.Name, new SqlVirtualMachineModel() { Location = context.location, SqlVirtualMachineGroupResourceId = group.Id, VirtualMachineResourceId = sqlVM.VirtualMachineResourceId, WsfcDomainCredentials = new WsfcDomainCredentials() { ClusterBootstrapAccountPassword = password, ClusterOperatorAccountPassword = password, SqlServiceAccountPassword = password } }); return(sqlVM); }
public static VirtualMachineExtension CreateDomain(SqlVirtualMachineTestContext context, VirtualMachine vm, string domainName = default(string), string adminLogin = default(string), string adminPassword = default(string)) { IVirtualMachineExtensionsOperations operations = context.client.computeClient.VirtualMachineExtensions; if (domainName == null) { domainName = Constants.domainName; } if (adminLogin == null) { adminLogin = Constants.adminLogin; adminPassword = Constants.adminPassword; } VirtualMachineExtension domain = operations.CreateOrUpdate(context.resourceGroup.Name, vm.Name, "InstallDomainController", new VirtualMachineExtension { Location = context.location, VirtualMachineExtensionType = "DSC", Publisher = "Microsoft.Powershell", TypeHandlerVersion = "2.71", AutoUpgradeMinorVersion = true, Settings = new DomainSettings { ModulesURL = "https://sqlvirtualmachine.blob.core.windows.net/clitest/CreateADPDC.ps1.zip", ConfigurationFunction = "CreateADPDC.ps1\\CreateADPDC", Properties = new DomainProperties { DomainName = domainName + ".com", Admincreds = new DomainAdminCredentials { UserName = adminLogin, Password = "******" } } }, ProtectedSettings = new DomainProtectedSettings { Items = new DomainProtectedSettingsItems { AdminPassword = adminPassword } } }); domain = operations.CreateOrUpdate(context.resourceGroup.Name, vm.Name, "Domain", new VirtualMachineExtension { Location = context.location, VirtualMachineExtensionType = "CustomScriptExtension", Publisher = "Microsoft.Compute", TypeHandlerVersion = "1.9", AutoUpgradeMinorVersion = true, Settings = new CustomScriptExtensionSettings { FileUris = new List <string>(new string[] { "https://strdstore.blob.core.windows.net/test/UPN.ps1" }), CommandToExecute = "powershell -ExecutionPolicy Unrestricted -File UPN.ps1 " + adminLogin + " " + domainName + ".com " + Constants.sqlService + " " + adminPassword, ContentVersion = "1.0.0.0" } }); return(domain); }