|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменить код: в каких группах состоит пользователь |
|
PowerShell - [решено] Изменить код: в каких группах состоит пользователь
|
Новый участник Сообщения: 22 |
Есть код с помощью которого находим в каких группах состоит пользователь.
Как из этого сделать, чтобы по имени пользователя выдавалась информация по определённым параметрам. import-module ActiveDirectory Function Get-UserMembership { Param($UserAccount) Process { Try { $Groups = (Get-ADUser -Identity $UserAccount -Properties MemberOf | ` Select-Object MemberOf).MemberOf } Catch { Return $Nothing } $GroupItems = @() ForEach ($Group in $Groups) { $var = $group.split(",") $var1 = $var[0] $ADGroup = $var1.Substring(3) $GrpItems = New-Object -TypeName PSObject -Property @{ Memberof = $ADGroup} $GroupItems += $GrpItems } Return $GroupItems | Sort memberOf } } Function Get-UserMembership_ByName { Param($UserName) Process { Try { $ResultNumber = (Get-ADUser -Filter {Name -eq $UserName} | Measure-Object).Count } Catch { Return $Nothing } If ($ResultNumber -eq 0) { Write-Host "There is no such user in the system." Return $Nothing } ElseIf ($ResultNumber -ge 2) { Write-Host "There are several users in the system with the provided name." ` "Please use the user account way." Return $Nothing } Else { $Groups = (Get-ADUser -Filter {Name -eq $UserName} -Properties memberof | ` Select-Object MemberOf).memberof $GroupItems = @() ForEach ($Group in $Groups) { $var = $group.split(",") $var1 = $var[0] $ADGroup = $var1.Substring(3) $GrpItems = New-Object -TypeName PSObject -Property @{ Memberof = $ADGroup} $GroupItems += $GrpItems } Return $GroupItems | Sort memberOf } } } $UserAccount = $Nothing $UserAccount = Read-Host 'What is the user account? (Type nothing to search by a user name)' If ($UserAccount -eq '') { $UserAccount = Read-Host 'What is the user name? (Last name and first name)' $Result = UserMembership_ByName $UserAccount | Sort Memberof } Else { $Result = Get-UserMembership $UserAccount | Sort Memberof } If ($Result -eq $Nothing) { Write-Host "Nothing is found. The result file is not created." } Else { $OutFile = (Get-Childitem env:USERPROFILE).Value + "\Desktop\$UserAccount.csv" $Result | Export-Csv $OutFile -Delimiter "`t" -Encoding UTF8 Write-Host "The result is in $OutFile file." } |
|
Отправлено: 12:33, 15-09-2015 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Get-ADUser -Filter "Name -eq '$UserName'" -Properties *
|
Отправлено: 12:47, 15-09-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
V. 2007 - Как определить в какой группе рассылки состоит пользователь | polosaty | Microsoft Exchange Server | 1 | 12-03-2014 10:47 | |
CMD/BAT - Состоит ли в домене? | Limonica | Скриптовые языки администрирования Windows | 8 | 04-05-2013 22:07 | |
Как узнать, на каких компьютерах авторизован пользователь в AD | timur_m | Microsoft Windows NT/2000/2003 | 1 | 04-12-2012 09:39 | |
Разное - Можно ли посмотреть из каких команд он состоит!!! | Alisher_12 | Программирование и базы данных | 4 | 30-06-2008 12:14 | |
Надо изменить защитный код на Nokia3310 | Guest | Мобильные ОС, смартфоны и планшеты | 2 | 10-04-2004 10:07 |
|