ps/Modules/Alkami.PowerShell.AD/Public/Install-ActiveDirectoryModule.ps1
2023-05-30 22:51:22 -07:00

35 lines
1.2 KiB
PowerShell

function Install-ActiveDirectoryModule {
<#
.SYNOPSIS
Installs the ActiveDirectory module by Enabling the WindowsFeature RSAT-AD-PowerShell
#>
[CmdletBinding()]
[OutputType([bool])]
param (
)
## TODO: Anyone ~ Make this work on client operating systems, which relies on a hotfix installation and Enable-WindowsOptionalFeature
## dism /online /add-capability /capabilityname:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
$logLead = Get-LogLeadName
# Try to load the module
Import-Module ActiveDirectory -ErrorAction SilentlyContinue -Verbose:$false
if (($null -ne $error[0]) -and ($null -ne $error[0].Exception) -and ($error[0].Exception.Message.StartsWith("The specified module 'ActiveDirectory'"))) {
Write-Output "$logLead : The active directory module is not installed. Attempting to install it..."
$result = Add-WindowsFeature RSAT-AD-PowerShell -Verbose:$false
if ($result.ExitCode -ne "Success") {
Write-Warning "$logLead : Installation of the RSAT module failed."
return $false
} else {
Write-Output "$logLead : RSAT Module Installed Successfully. Loading it to host"
Import-Module ActiveDirectory
}
}
return $true
}