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

38 lines
920 B
PowerShell

function Get-ServiceNamesByFragment {
<#
.SYNOPSIS
Get the service names of all services matched by the fragment passed in.
.PARAMETER Name
A name fragment to match against
.PARAMETER ReturnNullIfNotFound
Used to alter legacy behavior
.OUTPUTS
Will return the all service names that match
#>
[CmdletBinding()]
[OutputType([System.String])]
Param(
[Parameter(Mandatory=$false)]
[Alias("Fragment")]
[string]$Name = "",
[switch]$ReturnNullIfNotFound
)
$logLead = (Get-LogLeadName)
Write-Verbose ("$logLead : Checking for service names")
$services = @((Get-Service) | Where-Object { (($_.DisplayName -match $Name) -or ($_.Name -match $Name)) })
if (Test-IsCollectionNullOrEmpty $services) {
if ($ReturnNullIfNotFound) {
return $null
}
return 'Not Installed'
}
return ($services).ServiceName
}