Hay-ADKIT.psm1

<# Skript för Skapa användare från CSV fil.
 
Hayder Alshiblawi
#>
 

Function New-HayOU {


$oufile= Import-Csv "C:\myscript\OUStruct.csv"

foreach ($ou In $oufile)
{

$ouname   = $ou.ouname
$oupath   = $ou.oupath

Write-Output "Creating $ouname..." 
New-ADOrganizationalUnit -Name "$ouname" -Path "$oupath"
Write-Host -ForegroundColor Black -BackgroundColor Green "OU $ouname is created in this location $oupath"

}

}



Function New-HayADUsers {



Import-Module activedirectory 

   



$ADUsers = Import-csv "C:\myscript\Users.csv" 

  


foreach ($User in $ADUsers) 

 { 

    $Username   = $User.username 

    $Password   = $User.password 

    $Firstname  = $User.firstname 

    $Lastname   = $User.lastname 
 
    $OU = $User.ou 
    
    $email      = $User.email 

    $streetaddress = $User.streetaddress 

    $city       = $User.city 

    $zipcode    = $User.zipcode 

    $state      = $User.state 

    $country    = $User.country 

    $telephone  = $User.telephone 

    $jobtitle   = $User.jobtitle 

    $company    = $User.company 

    $department = $User.department 

    $Password   = $User.Password 

  

  


if (Get-ADUser -Filter {SamAccountName -eq $Username}) 

{ 
 

Write-Warning "A user account with username $Username already exist in Active Directory." 

} 

else 

  { 



             
     New-ADUser `
            -SamAccountName $Username `
            -UserPrincipalName "$Username@ARK.se" `
            -Name "$Firstname $Lastname" `
            -GivenName $Firstname `
            -Surname $Lastname `
            -Enabled $True `
            -DisplayName "$Lastname, $Firstname" `
            -Path $OU `
            -City $city `
            -Company $company `
            -State $state `
            -StreetAddress $streetaddress `
            -OfficePhone $telephone `
            -EmailAddress $email `
            -Title $jobtitle `
            -Department $department `
            -AccountPassword (convertto-securestring $Password -AsPlainText -Force) -ChangePasswordAtLogon $True  
         

  } 

 }
 
}  

Function New-HayGroups {

$groups = Import-Csv "C:\myscript\groups.csv"

foreach($group in $groups) {


     
   New-ADGroup `
    -Name $group.name `
    -Path “OU=Groups,OU=ARK,DC=ARK,DC=se” `
    -GroupCategory Security `
    -GroupScope Global `
    

 }
}

Function Add-HayUsersToGroups {

$csvfile = Import-Csv "C:\myscript\UsersToGroups.csv" 

foreach ($item in $csvfile) {
$Users = $item.users
$Groups = $item.groups

foreach ($Group in $Groups) {
$ListOfGroupMembers = Get-ADGroupMember -Identity $Group |
Select-Object -ExpandProperty SamAccountName
if ($ListOfGroupMembers -notcontains $Users) {
Add-ADGroupMember $Group -Members $Users
 }
 }
 }
}

Function Add-HayJoinDomain {

# Auto Join Domain

$domain = Read-Host -Prompt "Enter domain name"

$user = Read-Host -Prompt "Enter username"

$password = Read-Host -Prompt "Enter password for $user" -AsSecureString

$username = "$domain\$user"

$credential = New-Object System.Management.Automation.PSCredential($username,$password)

Add-Computer -DomainName $domain -Credential $credential

}