-
Notifications
You must be signed in to change notification settings - Fork 29
/
Get-ADServiceAccountInfo.ps1
26 lines (23 loc) · 928 Bytes
/
Get-ADServiceAccountInfo.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<#
.SYNOPSIS
Lists the Global Managed Service Accounts for the domain, including the computers they are bound to.
.EXAMPLE
Get-ADServiceAccountInfo.ps1 |Format-Table -AutoSize
Name HostComputers LastLogonDate Description Account
---- ------------- ------------- ----------- -------
service1 SERVERA 2023-08-27 11:14:19 First MSA {}
service2 SERVERB 2023-08-27 10:27:03 Second MSA {}
serivce3 SERVERC 2023-08-25 17:19:49 Third MSA {}
#>
#Requires -Modules ActiveDirectory
[CmdletBinding()] Param(
[Parameter(Position=0)][string] $Filter = '*'
)
Get-ADServiceAccount -Filter $Filter -Properties Description,LastLogonDate,HostComputers |
ForEach-Object {[pscustomobject]@{
Name = $_.Name
HostComputers = $_.HostComputers -replace '\ACN=','' -split ',',2 |Select-Object -First 1
LastLogonDate = $_.LastLogonDate
Description = $_.Description
Account = $_
}}