Поиск членов локальных групп
В тех случаях когда необходимо найти всех членов локальных групп не прибегая в net.exe можно использовать простую функцию на PowerShell.
function Get-LocalGroupMember{ param( [Parameter(Mandatory=$true)] $name ) try { $ErrorActionPreference = 'Stop' $users = net localgroup $name 2>&1 $users[6..($users.count-3)] -split '\s+' | Where-Object { $_ } } catch { $errmsg = $_ if ($errmsg -match '\b(\d{1,8})\b') { $errmsg = net helpmsg ($matches[1]) } Write-Warning "Get-LocalGroupMember : $errmsg" } } |
Чтобы не выводить лишних ошибок использована конструкция (2>&1), которая может быть известная тем кто программировал в Unix bash. TЭто позволяет меньше засорять вывод в случае ошибок:
PS > Get-LocalGroupMember admin WARNING: Get-LocalGroupMember : The specified local group does not exist. |
Понравилась статья? Оставьте комментарий или подпишитесь на RSS рассылку.
Комментарии
Комментариев пока что нет
Оставить комментарий