public DhcpOptions(object domainName, Vpc vpc, FnJoin dnsServers, FnJoin netBiosNameServers)
     : base(ResourceType.DhcpOptions)
 {
     if (domainName != null)
     {
         this.DomainName = domainName;
     }
     this.Vpc = vpc;
     this.DomainNameServers  = dnsServers;
     this.NetbiosNameServers = netBiosNameServers;
 }
Example #2
0
        public override void AddToLaunchConfiguration(LaunchConfiguration configuration)
        {
            base.AddToLaunchConfiguration(configuration);
            var node      = GetChefNodeJsonContent(configuration);
            var tfsNode   = node.Add("tfs");
            var sqlServer = new FnJoin(FnJoinDelimiter.Period, SqlServer.LogicalId, new ReferenceProperty(ActiveDirectoryBase.DomainFqdnParameterName));

            tfsNode.Add("application_server_sqlname", sqlServer);
            tfsNode.Add(TeamFoundationServerBuildServerBase.TfsServiceAccountNameParameterName, new ReferenceProperty(TeamFoundationServerBuildServerBase.TfsServiceAccountNameParameterName));
            tfsNode.Add(TeamFoundationServerBuildServerBase.TfsServicePasswordParameterName, new ReferenceProperty(TeamFoundationServerBuildServerBase.TfsServicePasswordParameterName));
        }
        public DhcpOptions(string domainName, FnJoin dnsServers, FnJoin netBiosNameServers) : base(ResourceType.DhcpOptions)
        {
            var logicalId = string.Empty;

            if (domainName != null)
            {
                this.DomainName = domainName;
                logicalId       = ResourceBase.NormalizeLogicalId(domainName);
            }

            this.DomainNameServers  = dnsServers;
            this.NetbiosNameServers = netBiosNameServers;
            logicalId           += ResourceBase.NormalizeLogicalId(this.DomainNameServers.ToString());
            logicalId           += ResourceBase.NormalizeLogicalId(this.NetbiosNameServers.ToString());
            this.LogicalId       = logicalId;
            this.NetbiosNodeType = "2";
        }
Example #4
0
        private void AddUserSimpleAd(LaunchConfiguration instance, string ou, object user, object password)
        {
            var configSet = instance.Metadata.Init.ConfigSets.GetConfigSet(ActiveDirectoryConfigSet);

            var createDevOuConfig = configSet.GetConfig(ActiveDirectoryConfig);

            const string createUserPath = "c:/cfn/scripts/create-user.ps1";
            const string pstools        = "c:/cfn/tools/pstools";

            if (!createDevOuConfig.Sources.ContainsKey(pstools))
            {
                createDevOuConfig.Sources.Add("c:/cfn/tools/pstools", "https://s3.amazonaws.com/gtbb/software/pstools.zip");
            }


            createDevOuConfig.Files.GetFile(createUserPath).Source = "https://s3.amazonaws.com/gtbb/create-user.ps1";

            ConfigCommand command = null;

            if (!createDevOuConfig.Commands.ContainsKey("InstallActiveDirectoryTools"))
            {
                command                     = createDevOuConfig.Commands.AddCommand <Command>("InstallActiveDirectoryTools");
                command.Command             = new FnJoinPowershellCommand(FnJoinDelimiter.None, "Add-WindowsFeature RSAT-AD-PowerShell,RSAT-AD-AdminCenter");
                command.WaitAfterCompletion = 0.ToString();
            }

            var adminUserNameFqdn = new FnJoin(FnJoinDelimiter.None,
                                               new ReferenceProperty(ActiveDirectoryBase.DomainAdminUsernameParameterName),
                                               "@",
                                               new ReferenceProperty(ActiveDirectoryBase.DomainFqdnParameterName));

            command = createDevOuConfig.Commands.AddCommand <Command>(ResourceBase.NormalizeLogicalId($"AddUser{user}"));

            command.Command = new FnJoinPsExecPowershell(
                new FnJoin(FnJoinDelimiter.None,
                           new ReferenceProperty(ActiveDirectoryBase.DomainNetBiosNameParameterName),
                           "\\",
                           new ReferenceProperty(ActiveDirectoryBase.DomainAdminUsernameParameterName)),
                new ReferenceProperty(ActiveDirectoryBase.DomainAdminPasswordParameterName),
                createUserPath,
                " ",
                user,
                new FnJoin(FnJoinDelimiter.None, "\"", password, "\""));

            command.WaitAfterCompletion = 0.ToString();
        }
Example #5
0
        private void AddUserMicrosoftAd(LaunchConfiguration instance, object ou, object user, object password)
        {
            var configSet         = instance.Metadata.Init.ConfigSets.GetConfigSet(ActiveDirectoryConfigSet);
            var createDevOuConfig = configSet.GetConfig(ActiveDirectoryConfig);

            ConfigCommand command = null;

            if (!createDevOuConfig.Commands.ContainsKey("InstallActiveDirectoryTools"))
            {
                command                     = createDevOuConfig.Commands.AddCommand <Command>("InstallActiveDirectoryTools");
                command.Command             = new FnJoinPowershellCommand(FnJoinDelimiter.None, "Add-WindowsFeature RSAT-AD-PowerShell,RSAT-AD-AdminCenter");
                command.WaitAfterCompletion = 0.ToString();
            }

            var adminUserNameFqdn = new FnJoin(FnJoinDelimiter.None,
                                               new ReferenceProperty(ActiveDirectoryBase.DomainAdminUsernameParameterName),
                                               "@",
                                               new ReferenceProperty(ActiveDirectoryBase.DomainFqdnParameterName));


            var addUserCommand = "New-ADUser";

            command         = createDevOuConfig.Commands.AddCommand <Command>(ResourceBase.NormalizeLogicalId($"AddUser{user}"));
            command.Command = new FnJoinPowershellCommand(FnJoinDelimiter.None,
                                                          addUserCommand,
                                                          " -Name ",
                                                          user,
                                                          " -Path '",
                                                          ou,
                                                          "' -Credential (New-Object System.Management.Automation.PSCredential('",
                                                          adminUserNameFqdn,
                                                          "',(ConvertTo-SecureString '",
                                                          new ReferenceProperty(ActiveDirectoryBase.DomainAdminPasswordParameterName),
                                                          "' -AsPlainText -Force)))",
                                                          " -SamAccountName ",
                                                          user,
                                                          " -AccountPassword (ConvertTo-SecureString -AsPlainText '",
                                                          password,
                                                          "' -Force)",
                                                          " -Enabled $true");
            command.Test = new FnJoinPowershellCommand(FnJoinDelimiter.Space,
                                                       "try {Get-ADUser -Identity",
                                                       user,
                                                       ";exit 1} catch {exit 0}");
            command.WaitAfterCompletion = 0.ToString();
        }
Example #6
0
        public static string AddOu(LaunchConfiguration instance, string parentOu, string ouToAdd)
        {
            var configSet         = instance.Metadata.Init.ConfigSets.GetConfigSet(ActiveDirectoryConfigSet);
            var createDevOuConfig = configSet.GetConfig(ActiveDirectoryConfig);

            var command = createDevOuConfig.Commands.AddCommand();

            command.Command             = new FnJoinPowershellCommand(FnJoinDelimiter.None, "Add-WindowsFeature RSAT-AD-PowerShell,RSAT-AD-AdminCenter");
            command.WaitAfterCompletion = 0.ToString();

            var adminUserNameFqdn = new FnJoin(FnJoinDelimiter.None,
                                               new ReferenceProperty(ActiveDirectoryBase.DomainAdminUsernameParameterName),
                                               "@",
                                               new ReferenceProperty(ActiveDirectoryBase.DomainFqdnParameterName));



            command         = createDevOuConfig.Commands.AddCommand <Command>(ResourceBase.NormalizeLogicalId($"AddOu{ouToAdd}"));
            command.Command = new FnJoinPowershellCommand(FnJoinDelimiter.None,
                                                          "New-ADOrganizationalUnit -Name '",
                                                          ouToAdd,
                                                          "' -Path '",
                                                          parentOu,
                                                          "' -Credential (New-Object System.Management.Automation.PSCredential('",
                                                          adminUserNameFqdn,
                                                          "',(ConvertTo-SecureString '",
                                                          new ReferenceProperty(ActiveDirectoryBase.DomainAdminPasswordParameterName),
                                                          "' -AsPlainText -Force)))");

            var finalOu = $"OU={ouToAdd},{parentOu}";

            command.Test = new FnJoinPowershellCommand(FnJoinDelimiter.None, "if([ADSI]::Exists('LDAP://",
                                                       finalOu,
                                                       "')) { EXIT 1 }");
            command.WaitAfterCompletion = 0.ToString();

            return(finalOu);
        }