Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 16

Удаление спецсимволов из атрибутов ActiveDirectory

11.01.2019, 10:34. Показов 2652. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Пожалуйста, подскажите, как решить пару проблемок. Для вывода данных определенных учетных записей использую следующий скрипт:

Кликните здесь для просмотра всего текста
PowerShell
1
2
3
4
5
6
7
8
9
$users = Get-Content "e:\list.txt"
$csv = "e:\list_ur_$(get-date -f yyyy-MM-dd-HH_mm_ss).csv"
 
Set-Content -Path $csv -Value 'displayname; sAMAccountName; enabled; canonicalName;  msDS-LastSuccessfulInteractiveLogonTime; comment' -Encoding UTF8 -Force
 
foreach ($Usr in $Users)  
{ 
Get-ADUser -SearchBase "DC=aa,DC=bb, DC=cc"  -Filter {sAMAccountName -eq $Usr} -Properties * | select displayname, sAMAccountName, enabled, canonicalName,  msDS-LastSuccessfulInteractiveLogonTime, comment | Add-Content -Path $csv  -Encoding UTF8
}


В результате получаю:
@{displayname=Иванова Анна Ивановна sAMAccountName=Ivanova enabled=True canonicalName=test/Users/Иванова Анна Ивановна msDS-LastSuccessfulInteractiveLogonTime=13191 5897720168835 comment=Logged ON on compik at 14.12.2018 14:46:11}

1. Из-за чего выводятся имена атрибутов и все это заключено в @{}?
2. Можно ли сразу при записи в файл чистить значения от различных спецсиволов и переводов строки, такие как sAMAccountName, comment?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.01.2019, 10:34
Ответы с готовыми решениями:

Удаление определенных атрибутов в xml-файле
Здравствуйте! Вот xml-код. <?xml version="1.0" encoding="utf-8"?> <Racine> <Machine...

Чтение атрибутов пользователя (Имени, фамилии) из ActiveDirectory
Дано: Login пользователя Требуется: найти Фамилию, Имя пользователя в ActiveDirectory. Для получения доступа к ActiveDirectory...

Удаление с листа спецсимволов
Привет. Нужно удалить на листе эти квадратики (см. файл) Скорее всего это символы табуляции.

7
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
11.01.2019, 10:50
Цитата Сообщение от andyas Посмотреть сообщение
Для вывода данных определенных учетных записей использую следующий скрипт
Проще сделать так:

PowerShell
1
2
$csv = "e:\list_ur_$(get-date -f yyyy-MM-dd-HH_mm_ss).csv"
gc "e:\list.txt" |% {Get-ADUser -SearchBase "DC=aa,DC=bb,DC=cc" -Filter {sAMAccountName -eq $_} -Properties * | select displayname,sAMAccountName,enabled,canonicalName,msDS-LastSuccessfulInteractiveLogonTime,comment} | Export-Csv -Path $csv -Encoding UTF8 -Delimiter ';' -NoTypeInformation
1
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 16
15.01.2019, 06:35  [ТС]
Спасибо! От {} удалось избавиться, все хорошо. Вопросик остался как удалить сразу переводы строки и другой мусор из определенных атрибутов при записи данных в файл. И может кто знает как атрибут msDS-LastSuccessfulInteractiveLogonTime сразу в нормальный вид привести, а то приходится уже после конвертировать в Excel (пример значения 131919499549135000).
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
15.01.2019, 10:50
Лучший ответ Сообщение было отмечено andyas как решение

Решение

Цитата Сообщение от andyas Посмотреть сообщение
как удалить сразу переводы строки и другой мусор из определенных атрибутов при записи данных в файл. И может кто знает как атрибут msDS-LastSuccessfulInteractiveLogonTime сразу в нормальный вид привести, а то приходится уже после конвертировать в Excel (пример значения 131919499549135000)
Что значит "и другой мусор"? "переводы строки" - в каком именно атрибуте?

Допустим, переводы строки попадаются в "comment", тогда:

PowerShell
1
2
3
4
5
6
7
$csv = "e:\list_ur_$(get-date -f yyyy-MM-dd-HH_mm_ss).csv"
gc "e:\list.txt" |% {Get-ADUser -SearchBase "DC=aa,DC=bb,DC=cc" -Filter {sAMAccountName -eq $_} -Properties * | select displayname,
    sAMAccountName,
    canonicalName,
    @{N='LastSuccessfulInteractiveLogonTime';E={([DateTime]$_.'msDS-LastSuccessfulInteractiveLogonTime').AddYears(1600).ToLocalTime()}},
    @{N='comment';E={$_.comment -Replace "`n|`r`n",' '}},
    enabled} | Export-Csv -Path $csv -Encoding UTF8 -Delimiter ';' -NoTypeInformation
1
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 16
15.01.2019, 11:20  [ТС]
Под прочим мусором я понимал запятые, точки с запятой, вертикальные разделители. По аналогии с comment можно любой атрибут таким образом почистить, добавляя в параметры -Replace "`n|`r`n" нужные символы, правильно я понимаю?
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
15.01.2019, 11:29
Цитата Сообщение от andyas Посмотреть сообщение
Под прочим мусором я понимал запятые, точки с запятой, вертикальные разделители.
Почему это является "мусором"? Я показал команду, которая выгрузит значения указанных AD-атрибутов в csv-файл. Если такие символы есть в значение атрибута, то почему это мусор? Даже удаление перевода строк, весьма сомнительно (если они действительно хранятся в AD-атрибуте).

Или же вы имеете ввиду csv-разделители? Но при открытие csv-файла в Excel'е не остаётся ничего кроме значений, а если это не так воспользуйтесь мастером импорта.
0
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 16
15.01.2019, 11:37  [ТС]
Эти символы в моем случае, как раз смысла не имеют, а только создают проблемы при импорте в Excel и разбивке по полям т.к. из-за них все сбивается. Все это можно и ручками поправить, но когда массивы из 50-100 кк тогда не очень удобно. Вам большое спасибо, очень помогли!
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
15.01.2019, 11:58
Цитата Сообщение от andyas Посмотреть сообщение
создают проблемы при импорте в Excel и разбивке по полям т.к. из-за них все сбивается
Просто используйте экзотический разделитель (Delimiter) для Export-Csv, например: "?", "^" или "%"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2019, 11:58
Помогаю со студенческими работами здесь

Удаление спецсимволов из строки
Добрый вечер. Прошу помощи в данном вопросе. Сразу говорю Trim (substr); не удаляет эти символы. Имеется строчка в массиве:...

Удаление атрибутов применённых к тексту.
Всем доброго времени суток. Кто знает, как после применения к тексту атрибута типа: Form4->Panel2->Font->Style =...

Программное изменение, добавление, удаление атрибутов у свойств класса
Собственно и интересует вопрос как программно изменить, добавить, удалить атрибуты у свойств класса???

Удаление определнных типов файлов и изменение атрибутов всех папок
Доброго времени суток! Очень нужен батник для очищения флешек от трояна, который скрывает папки и создает их ярлыки. Фактически...

AdoQuery VS ActiveDirectory
Вечер добрый! Столкнулся с проблемой. Тестс запроса, записанный непосредственно в SQL компонента - работает на "ура": select...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru