ps/Modules/Alkami.PowerShell.Services/Public/Set-ServiceAccountManagedState.ps1
2023-05-30 22:51:22 -07:00

30 lines
995 B
PowerShell

function Set-ServiceAccountManagedState {
<#
.SYNOPSIS
Set the service managed account state value to True
While we could provide a flag to set it to off, we don't do that, because we use gMSA accounts
.PARAMETER ServiceName
The service name to set the state for
#>
[CmdletBinding()]
param (
[string]$ServiceName
)
$logLead = (Get-logLeadName)
if ($null -eq (Get-Service -Name $ServiceName)) {
Write-Warning "$logLead : [$ServiceName] does not appear to be a valid service. Can not set the service account managed state"
return
}
Write-Host "$logLead : Setting process to managedaccount $ServiceName true"
Invoke-SCExe @("managedaccount",$ServiceName,"True")
if ($LASTEXITCODE -ne 0) {
Write-Error "$logLead : Attempt to call sc.exe and set service account managed state errored out. Please review logs"
} else {
Write-Host "$logLead : Successfully set the managed state for [$ServiceName]"
}
}