
Iec6b3c56d464d26e4f1fc143e6a7804add67a35d I3f2d3a12fcb53759a906fcbae6fae768833d325e I566811521da16055a73c73052ffcd497aaa8e475 I2ee04b6d5aaa26d49243cf7e0b6045026f052625 I329620f3c8aa7e7f1bdd658cbaa8ea20d9aa4ba5 I5ff3d9146b4fbec74d8d65de84d7ab61d869725c Ib38fd52811812170bdd9bf9df90a66f1a2e6c8d9 I64ce3efaec6df2e402ca2acf6a3cf1a6f2bb1909 I66c3659ab0f33772d7a51c8961a37e32c65354c2 I29ce4a6ef165daa0fe60003301a0d807fd1cce42 Ibd2a4f55e2a64d9a992833200a791dbb20c41eca I16133a213ef25a1b374f10fa80cd5a03d1f40753 Ie09f32fcacfe70f436cad71e5749edf94be038ed Iaba6a6bf07ff223e41f705f0f1db5688a5290f5c I64a0474ecfe5ea38393fe681d520a7b6ce00d959 I270b3ce5ef776522a62d9622b36f0d6b50b9cc57 Ic5f6849ea166bb0295f84685b0a2b5c4701f972a I51190cb02255254a888f66404ecdc3dfc5be0386 I0c2180c603cd09e29d4e6c5e592b987e2b447972 Iae1cdbeb7fa3e49c2cb5cac7c92eceffef477e7e I6c643f58aada0a8525711bc452d0c581625f3d26 I9c4f999b1b3006b8ae5f18a030d5b30c7e85e03b I32eaad36edcb889b448c45ba36f4e97f7c87d1e5 I8c91c40a922690b475aac1c0a3b2c0c28274b130 I574fd1dbeea58dbf41f77d295dc03c23d2feaf96 Change-Id: I0ffb3c38c0c1b3aafa8617364e22036c47aaef76
68 lines
1.5 KiB
PowerShell
68 lines
1.5 KiB
PowerShell
|
|
trap {
|
|
&$TrapHandler
|
|
}
|
|
|
|
|
|
Function Join-Domain {
|
|
<#
|
|
.SYNOPSIS
|
|
Executes "Join domain" action.
|
|
|
|
Requires 'CoreFunctions' module.
|
|
#>
|
|
param (
|
|
[String] $DomainName = '',
|
|
[String] $UserName = '',
|
|
[String] $Password = '',
|
|
[String] $OUPath = '',
|
|
[Switch] $AllowRestart
|
|
)
|
|
begin {
|
|
Show-InvocationInfo $MyInvocation
|
|
}
|
|
end {
|
|
Show-InvocationInfo $MyInvocation -End
|
|
}
|
|
process {
|
|
trap {
|
|
&$TrapHandler
|
|
}
|
|
|
|
if ($UserName -eq '') {
|
|
$UserName = 'Administrator'
|
|
}
|
|
|
|
$Credential = New-Credential -UserName "$DomainName\$UserName" -Password $Password
|
|
|
|
|
|
if (Test-ComputerName -DomainName $DomainName -ErrorAction 'SilentlyContinue') {
|
|
Write-LogWarning "Computer already joined to domain '$DomainName'"
|
|
}
|
|
else {
|
|
Write-Log "Joining computer to domain '$DomainName' ..."
|
|
|
|
if ($OUPath -eq '') {
|
|
Add-Computer -DomainName $DomainName -Credential $Credential -Force
|
|
}
|
|
else {
|
|
Add-Computer -DomainName $DomainName -Credential $Credential -OUPath $OUPath -Force
|
|
}
|
|
|
|
$null = Exec 'ipconfig' @('/registerdns') -RedirectStreams
|
|
|
|
Write-Log "Waiting 30 seconds to restart ..."
|
|
Start-Sleep -Seconds 30
|
|
<#
|
|
if ($AllowRestart) {
|
|
Write-Log "Restarting computer ..."
|
|
Restart-Computer -Force
|
|
}
|
|
else {
|
|
Write-Log "Please restart the computer now."
|
|
}
|
|
#>
|
|
}
|
|
}
|
|
}
|