ps/Modules/Alkami.DevOps.Installation/Public/Set-ServiceAccountValue.ps1
2023-05-30 22:51:22 -07:00

51 lines
1.9 KiB
PowerShell

function Set-ServiceAccountValue {
<#
.SYNOPSIS
Sets a value to the Service Account.
#>
[CmdletBinding()]
Param(
[Alkami.Ops.SecretServer.Model.User]$serviceAccount
)
$logLead = (Get-LogLeadName);
foreach ($application in $appTierApplications) {
if ($serviceAccount.SecretName -like ("*{0}*" -f $application.Name)) {
if ($serviceAccount.UserName.EndsWith("$")) {
Write-Output ("$logLead : Setting application {0} to install with GMSA user {1}" -f $application.Name, $serviceAccount.UserName)
$application.IsGMSAAccount = $true
$application.Password = "GMSA"
}
else {
Write-Output ("$logLead : Setting application {0} to install with user {1}" -f $application.Name, $serviceAccount.UserName)
$application.IsGMSAAccount = $false
$application.Password = $serviceAccount.Password
}
$application.User = $serviceAccount.UserName
continue
}
}
foreach ($appTierService in (Get-AppTierServices)) {
if ($serviceAccount.SecretName -like ("*{0}*" -f $appTierService.FriendlyName)) {
if ($serviceAccount.UserName.EndsWith("$")) {
Write-Output ("$logLead : Setting Windows Service {0} to install with GMSA user {1}" -f $appTierService.FriendlyName, $serviceAccount.UserName)
$appTierService.IsGMSAAccount = $true
$appTierService.Password = "GMSA"
}
else {
Write-Output ("$logLead : Setting application {0} to install with user {1}" -f $appTierService.FriendlyName, $serviceAccount.UserName)
$appTierService.IsGMSAAccount = $false
$appTierService.Password = $serviceAccount.Password
}
$appTierService.User = $serviceAccount.UserName
continue
}
}
}