51 lines
1.9 KiB
PowerShell
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
|
|
}
|
|
}
|
|
}
|
|
|