|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменение части описания группы AD |
|
PowerShell - [решено] Изменение части описания группы AD
|
Пользователь Сообщения: 55 |
Доброго времени суток.
Необходимо заменить часть описания группы между 3й и 4й #, само описание выглядит так : qwe#qwe#2#114-3#qwe Содержимое файла csv - 123-123;422-423 (соответственно старое и новое значение) Вроде должно работать, но... $file='C:\1\1.csv' $temp='C:\1\temp.csv' $put='OU=testgroups,OU=tets,DC=skiffin,DC=home' Get-content $file|out-file $temp -Encoding unicode $header='old','new' $csv=import-csv $temp -header $header -delimiter ";" Get-ADGroup -filter {*} -SearchBase $put -Properties description |foreach{ $rt=[regex]::Matches($_.description,'(?=\#).(\d\d\d)(.*)(?=\#)') #регулярное выражение читает ничиная с 3-й решётки $rt=[string]$rt $oldSTR=$rt.substring(1) $csv|foreach{ if($oldSTR=$_.old){ $top=$_.new } else{ $top=$oldstr }} $newdsc=$_.description.replace('#'+$oldstr+'#','#'+$top+'#') $vse=$oldstr+' '+$top; $vse #проверка замены Set-Adgroup $_ -replace @{description=$newdsc} } |
|
Отправлено: 23:24, 11-01-2013 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать if($oldSTR=$_.old){ - "=" заменить на "-eq"
|
Отправлено: 14:56, 12-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 55
|
Профиль | Отправить PM | Цитировать заменил, процесс пошел, но описание не меняет
вывод: 123-1 #123-1# 156-2 #156-2# 114-3 #114-3# 125-4 #125-4# 135-5 #135-5# 148-6 #148-6# 1400 #1400# 111-111 #111-111# 1212-1212 #1212-1212# 12883-1 #12883-1# $file='C:\1\1.csv' #файл со списком $temp='C:\1\temp.csv' $put='OU=testgroups,OU=tets,DC=skiffin,DC=home' Get-content $file|out-file $temp -Encoding unicode $header='old','new' $csv=import-csv $temp -header $header -delimiter ";" Get-ADGroup -filter {*} -SearchBase $put -Properties description |foreach{ $rt=[regex]::Matches($_.description,'(?=\#).(\d\d\d)(.*)(?=\#)') #выбирает начиная с 3ей # получается #123-1 $rt=[string]$rt $oldSTR=$rt.substring(1) #убираю # из строки $top='#'+$oldstr+'#' $csv|foreach{ #ищу значение в списке if($oldSTR -eq $_.old){ $top='#'+$_.new+'#' }} $newdsc=$_.description.replace('#'+$oldstr+'#','#'+$top+'#') #заменяю значения $vse=$oldstr+' '+$top; $vse Set-Adgroup $_ -replace @{description=$newdsc} #вношу изменения в AD } |
Отправлено: 17:28, 12-01-2013 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - [решено] Запрещено изменение имени рабочей группы | Brother Micro | Microsoft Windows 2000/XP | 4 | 27-09-2017 18:38 | |
Изменение имени рабочей группы | SVX | Microsoft Windows NT/2000/2003 | 6 | 15-09-2013 07:49 | |
Прочее - Изменение рабочей группы | TERMINAL | Сетевые технологии | 5 | 19-03-2010 21:51 | |
Создание Новой Группы и изменение прав | net_user_ok | Microsoft Windows NT/2000/2003 | 4 | 09-10-2007 23:58 | |
Изменение ключа и описания владельца в Windows XP | Zergling | Microsoft Windows 2000/XP | 4 | 14-01-2007 00:22 |
|