Account SIDs

Richard Siddaway
1 min read
Share:

A question on the forum asked about finding the accounts and SIDs on the local machine.

`function

get-SID

{

param

(

[string]

$computername

=

$env:COMPUTERNAME

)

Get-WmiObject

-Class

Win32_AccountSID

-ComputerName

$computername

|

foreach

{

$da

=

(

(

$_

.

Element

)

.

Split

(

“.”

)

[

1

]

)

.

Split

(

“,”

)

$sid

=

(

$_

.

Setting

-split

“=”

)

[

1

]

-replace

‘"’

,

''

$props

=

[ordered]

@{

Domain

=

(

$da

[

]

-split

“=”

)

[

1

]

-replace

‘"’

,

''

Account

=

(

$da

[

1

]

-split

“=”

)

[

1

]

-replace

‘"’

,

''

SID

=

$sid

}

New-Object

-TypeName

PSObject

-Property

$props

}

}

`Pass a computer name into the function ““ default is local machine.

Use the AccountSID class which links Win32_SystemAccount and Win32_SID. For each returned instance clean up the data and create an object with three properties ““ domain, account and SID.

You will see more than you thought ““ some very useful information buried in there