sile007
9/5/2017 - 2:09 PM

Active Directory create Container

Active Directory create Container

#--------------------------------------------------------------------------------
# Creating Initial Container
#--------------------------------------------------------------------------------
function InitialCreateContainer
{
	
	$loginuser = $textbox3.Text
	$loginpw = $textbox4.Text
	
	#Checking Initial OU DLOL_Management persists in Program Data
	$strOUDomainName = "DLOL_Management"
	$strFilter = "(cn=$strOUDomainName)"
    $domainLDAP = ((getdomain)[1]).replace("LDAP://", "")
	$objADSI = [ADSI]"LDAP://CN=Program Data,$domainLDAP"
	$objSearcher = New-Object System.DirectoryServices.DirectorySearcher($objADSI)
	$objSearcher.Filter = $strFilter
	$objSearcher.SearchScope = "onelevel"
	
	$check = [ADSI]::Exists("LDAP://CN=DLOL_Management,CN=Program Data,$domainLDAP")
	
	if ($check -eq $true)
	{
		Write-Host "OU DLOL_Management exists"
	}
	else
	{
		Write-Host "Application Container not existing"
		Write-Host "Creating Application Container..."
		
		$result = [System.Windows.forms.MessageBox]::Show("Application container DLOL_Management does not exists, do you want to create the application container", "Question", 4, [System.Windows.Forms.MessageBoxIcon]::Question)
		
		$strCLass = "Container"

		$objOU = $objADSI.create($strCLass, "cn=$strOUDomainName")
		
		if ($result -eq [System.Windows.Forms.DialogResult]::Yes)
		{
			try
			{
				$objOU.put("Description", "Deny Logon Management for Service Accounts")
				$objOU.setInfo()
				Write-Host "Creating Application Container successfull"
				WriteLogFile "function: InitialCreateContainer - Application Container successfully created"
			}
			catch
			{
				$ExceptionMessage = $_.Exception.Message -replace [char]34, ""
				$ExceptionMessage = $ExceptionMessage -replace [char]13, ""
				$ExceptionMessage = "[Fehler] Ein unerwarteter Fehler trat beim Ausfuehren auf $((Get-PSCallStack)[0].Command) - Fehler:  $($ExceptionMessage)"
				[System.Windows.forms.MessageBox]::Show("Error: $ExceptionMessage", "Error", 0, [System.Windows.Forms.MessageBoxIcon]::Error)
				[System.Windows.forms.MessageBox]::Show("Berechtigungen prüfen, Applikation erneut ausführen", "Exclamation", 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation)
				exit
			}
		}
		else
		{
			[System.Windows.forms.MessageBox]::Show("Applikation wird nun beendet", "Exclamation", 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation)
			exit
		}
		
	}
}