Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменить код: в каких группах состоит пользователь

Ответить
Настройки темы
PowerShell - [решено] Изменить код: в каких группах состоит пользователь

Новый участник


Сообщения: 22
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть код с помощью которого находим в каких группах состоит пользователь.
Как из этого сделать, чтобы по имени пользователя выдавалась информация по определённым параметрам.

Код: Выделить весь код
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
Благодарности: 861

Профиль | Отправить PM | Цитировать


Get-ADUser -Filter "Name -eq '$UserName'" -Properties *

Отправлено: 12:47, 15-09-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменить код: в каких группах состоит пользователь

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход