Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Подставление нужных символов в переменной. (http://forum.oszone.net/showthread.php?t=319994)

Luka666 21-10-2016 09:26 2680359

Подставление нужных символов в переменной.
 
Доброго дня камрады!
Подскажите пожалуйста скриптовому нубу, как подредактировать строки в переменной?
Например при создании переменной:

Код:

$userlist
командой:

Код:

$userlist = Get-ADuser -filter * -SearhBase "ou=Users? ou=CU, ou= <...>, dc=ru" |Select-Object SamAccountName
создаютсо в ней такие данные:

Код:

5826-34-54
5826-54-53
5826-43-94
5826-29-32
5826-86-55
2826-65-92...

Мне нужно, чтоб в переменной было так:

Код:

1;5826-34-54;Пванов;бухи;1
1;5826-54-53;Петров;бухи;1
1;5826-43-94;Запупкин;бухи;1
1;5826-29-32;Деревянка;бухи;1
1;5826-86-55;Сыза;бухи;1
1;2826-65-92;Верко;бухи;1

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

greg zakharov 21-10-2016 09:36 2680365

Select'ом делаете нужные выборки, а далее преобразовываете в csv (в поздних версиях PS для этого есть ConvertTo-Csv)

Luka666 21-10-2016 09:42 2680370

Цитата:

Цитата greg zakharov
Select'ом делаете нужные выборки, а далее преобразовываете в csv (в поздних версиях PS для этого есть ConvertTo-Csv) »

А примеррчик можно? Мне же не одну строку, а все. И не нужен он мне в csv Нужен как текстовик. Но для начала мне нужно свормировать нужный текст в переменной. Хотел бы я ручками править, не псал бы это.

greg zakharov 21-10-2016 10:01 2680378

Luka666, еще раз - с чувством и расстановкой. Дабы просить пример, приведите полностью то, чем нужно оперировать; выходной формат в Вашем случае проще формировать как CSV, а сохранить его Вы можете и с расширением TXT, - суть улавливаете? В общем, приведите пример входящих данных (без select'ов и прочего).

Elven 21-10-2016 10:21 2680388

Код:

Import-Module ActiveDirectory
$userlist = (Get-ADUser -filter * -Properties * | foreach {
$a = "1;" + $_.SamAccountName + ";" + $_.Name + ";" + $_.Department + ";1"
$a
})
$userlist

так чтоле?

Luka666 21-10-2016 10:34 2680394

Попробую.
В переменную записывается перечесление SamAccounName с конкретного ou.
Мне нужно после чтоб после SaмAccountName подставлялось сразу через ";" Name в каждой строке.
Также мне просто нужно подставить к ним с двух сторон тупо символы 1;

|Select-Object SamAccountName, name

Даёт немножко не тот результат.
По сути мне нада, узнать как вставить несколько простых, одинаковых символов, при необходимости даже из созданных специальна текстовых переменных, в определённые места списка и убрать лишние пробелы.

Luka666 21-10-2016 11:34 2680421

Цитата:

Цитата Elven
Код: Выделить весь код
Import-Module ActiveDirectory
$userlist = (Get-ADUser -filter * -Properties * | foreach {
$a = "1;" + $_.SamAccountName + ";" + $_.Name + ";" + $_.Department + ";1"
$a
})
$userlist
так чтоле? »

Ога! практчески так как я и хотел! Благодарю от души. Теперь буду начинать вникать как и почему это так делаетсо. Чтоб лучше усвоить шта значат данные коды. Ещё раз спасибо.


Время: 22:27.

Время: 22:27.
© OSzone.net 2001-