none
Обратное преобразование SID

    Вопрос

  • Доброго дня,

    подсобите пожалуйста

    нашел скрипт? но не знаю как его преобразовать под свою нужду

    Import-Csv c:\employeelist.csv | ForEach {
    Get-ADUser -Filter {emailAddress -eq $_.email} -Properties name, emailAddress, SAMAccountName | `
        Select Name, emailAddress, SamAccountName | `
        Export-CSV c:\allinfo.csv -NoTypeInformation
    }

    На выходе мне нужно получить всего два параметра CN и SamAccountName без выгрузки в файл

    Почитал что можно сделать через -Identity но не знаю как правильно передать для преобразования информацию из файла 


    Все что вы делаете, вы делаете на свой страх и риск. Делайте Backup правильно.

    11 июля 2018 г. 12:45

Ответы

  • Файл sid.txt должен быть формата:

    S-1-5-21-3475297333-321567373-676411423-1801
    S-1-5-21-3475297333-321567373-676411423-1802

    Тогда скрипт:

    Get-Content sid.txt | Get-ADUser -Properties cn |  Select CN, SamAccountName

    • Помечено в качестве ответа PuCtoy 12 июля 2018 г. 8:10
    11 июля 2018 г. 13:22
    Отвечающий
  • $notfoundsid = @()
    Get-Content sid.txt | Foreach {
    		$sid = $_
    		try {
    			Get-ADUser $sid -Properties cn
    		} catch {
    			$notfoundsid += $sid 
    		}
    	}	|  Select CN, SamAccountName
    $notfoundsid - кого не удалось найти
    • Помечено в качестве ответа PuCtoy 12 июля 2018 г. 9:58
    12 июля 2018 г. 8:27
    Отвечающий

Все ответы

  • Get-ADUser $sid -Properties cn |  Select CN, SamAccountName

    11 июля 2018 г. 13:00
    Отвечающий
  • Добрый день!

    Import-Csv c:\employeelist.csv | ForEach {
    Get-ADUser -Filter {emailAddress -eq $_.email} -Properties CN, SamAccountName | `
        Select CN, SamAccountName
    }

    11 июля 2018 г. 13:01
  • Скажите, а причем тут "Обратное преобразование SID" ?

    Может, вам нужен другой скрипт? Опишите задачу.

    11 июля 2018 г. 13:03
  • Спасибо за помощь

    поясню по задаче есть траст односторонний, из соседнего домена мне могут дать только SID учеток

    Мне надо из этих SIDов получить логины пользователей их несколько сотен просто

    Get-ADUser : Не удается преобразовать "System.Object[]" в тип "Microsoft.ActiveDirectory.Managemen
    t.ADUser", необходимый для параметра "Identity". Указанный метод не поддерживается.
    строка:3 знак:12
    + Get-ADUser $sid -Properties cn |  Select CN, SamAccountName
    +            ~~~~
        + CategoryInfo          : InvalidArgument: (:) [Get-ADUser], ParameterBindingException
        + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands 
       .GetADUser



    Все что вы делаете, вы делаете на свой страх и риск. Делайте Backup правильно.

    11 июля 2018 г. 13:16
  • Файл sid.txt должен быть формата:

    S-1-5-21-3475297333-321567373-676411423-1801
    S-1-5-21-3475297333-321567373-676411423-1802

    Тогда скрипт:

    Get-Content sid.txt | Get-ADUser -Properties cn |  Select CN, SamAccountName

    • Помечено в качестве ответа PuCtoy 12 июля 2018 г. 8:10
    11 июля 2018 г. 13:22
    Отвечающий
  • Файл sid.txt должен быть формата:

    S-1-5-21-3475297333-321567373-676411423-1801
    S-1-5-21-3475297333-321567373-676411423-1802

    Тогда скрипт:

    Get-Content sid.txt | Get-ADUser -Properties cn |  Select CN, SamAccountName

    Спасибо огромное конструкция получилась у меня такая

    Get-Content C:\Users\user\Desktop\cn1.txt | Get-ADUser -Properties cn |  Select surname, givenname,SamAccountName, sid | sort

    =) правда как из ошибок вычленить убитых пользователей пока не придумалось

     
    CategoryInfo          : ObjectNotFound: (S-1-5-21-131031...734988925-22000:ADUser) [Get-ADUser], ADIdentityNotFoundException    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.C   ommands.GetADUserGet-ADUser : Не удается найти объект с удостоверением: "S-1-5-21-131031252-614067625-1734988925-21533" 


    Все что вы делаете, вы делаете на свой страх и риск. Делайте Backup правильно.

    12 июля 2018 г. 8:10
  • $notfoundsid = @()
    Get-Content sid.txt | Foreach {
    		$sid = $_
    		try {
    			Get-ADUser $sid -Properties cn
    		} catch {
    			$notfoundsid += $sid 
    		}
    	}	|  Select CN, SamAccountName
    $notfoundsid - кого не удалось найти
    • Помечено в качестве ответа PuCtoy 12 июля 2018 г. 9:58
    12 июля 2018 г. 8:27
    Отвечающий
  • $notfoundsid = @()
    Get-Content sid.txt | Foreach {
    		$sid = $_
    		try {
    			Get-ADUser $sid -Properties cn
    		} catch {
    			$notfoundsid += $sid 
    		}
    	}	|  Select CN, SamAccountName
    $notfoundsid - кого не удалось найти

    Спасибо, почитал про Try и так далее

    А подскажите уже чисто теоретически возможно ли из ошибки выдрать SID и вложить его в окончательный вывод?


    Все что вы делаете, вы делаете на свой страх и риск. Делайте Backup правильно.

    12 июля 2018 г. 9:58