balance users per db's

This topic contains 2 replies, has 2 voices, and was last updated by  turbo mcp 7 months, 4 weeks ago.

  • Author
    Posts
  • #65080

    turbo mcp
    Participant

    Hi
    I got interesting question
    lets say I have 700 test users/mailboxes
    that I want to load balance across 175 databases
    how would I got about doing that?
    for example I have this part nailed down:
    Import-Csv c:\temp\out.csv | ForEach-Object { New-ADuser -path 'OU=OU1,DC=test,DC=corp' -Name $_.samAccountName -samAccountName $_.samAccountName –userPrincipalName $_.userPrincipalName -GivenName $_.cn -Surname $_.sn -displayName $_.displayName -accountpassword (ConvertTo-SecureString $_.Password -AsPlainText -Force) -Enabled $true}
    [array]$databases=1..175 | % { "DB{0:000}" -f $_ }

    this part is where I'm stuck:
    # Enable mailboxes

    Get-User -OrganizationalUnit 'OU=OU1,DC=test,DC=corp' -Filter 'RecipientType -eq "user"' | ForEach-Object { $email = $_.FirstName +"."+ $_.LastName +"@evo960.info"; Enable-Mailbox -Identity $_.SamAccountName -DisplayName $_.DisplayName -Alias $_.SamAccountName -PrimarySmtpAddress $email -Database ??????}

    basically need to loop through $databases more then once(cause I got 175 and 700 users)
    Thanks

  • #65083

    Curtis Smith
    Participant

    There are several ways to accomplish this, but based on what you already have, you could do something like this.

    Get-User -OrganizationalUnit 'OU=OU1,DC=test,DC=corp' -Filter 'RecipientType -eq "user"' | 
    ForEach-Object {
        $dbID++
        $dbName =  "DB{0:000}" -f $dbID
        $email = $_.FirstName +"."+ $_.LastName +"@evo960.info"
        Enable-Mailbox -Identity $_.SamAccountName -DisplayName $_.DisplayName -Alias $_.SamAccountName -PrimarySmtpAddress $email -Database $dbName
        if ($dbID -eq 175) {$dbID = 0}
    }
  • #65121

    turbo mcp
    Participant

    Thanks
    very helpful

You must be logged in to reply to this topic.