Лучший отвечающий
Работа с PowerShell

Вопрос
-
Добрый день. У меня следующая проблема. Я получаю учетные записи пользователей из определенного подразделения AD посредством PowerShell и перенаправляю на экспорт в формате csv в файл.В итоге у меня в файле сформирован список столбцом один за другим нужных мне учетных записей.НО!!!Все это заключается в кавычки.Дальше мне надо будет работать с этим массивом и кавычки не нужны.
Не подскажите как избавится от этих кавычек или заменить их на пустоту с помощью PowerShell???Делается это непосредственно при экспорте или уже после как-то при работе с этим файлом???
Спасибо!
2 апреля 2016 г. 13:24
Ответы
-
Get-ADUser -Filter * | Ft Name > c:\1.csv
- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
2 апреля 2016 г. 14:12 -
Get-ADUser -Filter * | ft -Property SamAccountName > test.csv
напишите - какая конкретная задача перед вами стоит?- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
2 апреля 2016 г. 17:44Модератор -
Get-Help Import-CSV -Full
Пользуйтесь на здоровье
Но если все же вам интересен более конкретный ответ опишите задачу, так как сейчас вы делаете двойную работу запись в файл и потом чтение из него, а через конвеер вы можете эти действия опустить
Get-Aduser | Foreach {$_.SamAccountName}
и еще форичу абсолютно фиолетово на кавычки
The opinion expressed by me is not an official position of Microsoft
- Изменено Vector BCOModerator 2 апреля 2016 г. 22:03
- Предложено в качестве ответа Vector BCOModerator 7 апреля 2016 г. 7:11
- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
2 апреля 2016 г. 22:01Модератор -
С учетом замены двойных кавычек в тексте я делал так:
$source | ConvertTo-CSV -Delimiter ';' -NoTypeInformation | % {$_ -replace '"([^"]|$)', '$1' -replace '""','"' } | Set-Content -Path "$homedir\ShtatOUT.csv" -Encoding Unicode
Сазонов Илья
https://isazonov.wordpress.com/- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
4 апреля 2016 г. 6:27Модератор
Все ответы
-
Get-ADUser -Filter * | Ft Name > c:\1.csv
- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
2 апреля 2016 г. 14:12 -
Опишите что вы делаете с csv и какими средствами
Любые редакторы которые умеют работать с csv самостоятельно справляютя с кавычками
Кавычки собственно нужны для того что бы разделить потенциально проблемные поля
Например поле description может содержать в себе запятые (например: "отвечает за мат. обеспечение, красит стены и замки ремонтирут" без кавычек будет воспринято за 2 поля)
The opinion expressed by me is not an official position of Microsoft
2 апреля 2016 г. 14:15Модератор -
Да,можно залесть с csv файл и там убрать кавычки, но это ручная работа.
Да вот именно, что ничего не делаю с файлом.Мне нужно вытащить из AD учетные записи по фильтру SamAccountName.А когда я открываю файл,то там названия учетных записей в кавычках. Дальше мне нужно содержимое этого файла запустить в цикл, а командлету foreach-Object кавычки не нравятся
- Изменено Nik0la 2 апреля 2016 г. 17:32 опечатка
2 апреля 2016 г. 17:29 -
Get-ADUser -Filter * | ft -Property SamAccountName > test.csv
напишите - какая конкретная задача перед вами стоит?- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
2 апреля 2016 г. 17:44Модератор -
Get-Help Import-CSV -Full
Пользуйтесь на здоровье
Но если все же вам интересен более конкретный ответ опишите задачу, так как сейчас вы делаете двойную работу запись в файл и потом чтение из него, а через конвеер вы можете эти действия опустить
Get-Aduser | Foreach {$_.SamAccountName}
и еще форичу абсолютно фиолетово на кавычки
The opinion expressed by me is not an official position of Microsoft
- Изменено Vector BCOModerator 2 апреля 2016 г. 22:03
- Предложено в качестве ответа Vector BCOModerator 7 апреля 2016 г. 7:11
- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
2 апреля 2016 г. 22:01Модератор -
Речь видимо про командлеты типа Export-CSV. Проблема с кавычками там есть исторически: каждое значение заключается в двойные кавычки - это легко убрать, но если в значении уже есть двойные кавычки, то они задваиваются - и проблема становится более сложной.
Сазонов Илья
https://isazonov.wordpress.com/3 апреля 2016 г. 6:44Модератор -
Да про export-csv идет речь,и именно с задвоением кавычек я и столкнулся. А не подскажите как убрать?3 апреля 2016 г. 9:06
-
Да про export-csv идет речь,и именно с задвоением кавычек я и столкнулся. А не подскажите как убрать?
Я вам уже писал про Import-CSV
Покажите код и ошибки которые вы получаете + пример файла с которым работаете опубликуйте
Насколько я понимаю мы все тут слегка про разные вещи говорим и друг друга не понимаем
Вариант убрать кавычки есть, но я уверен что в вашем кейсе можно обойтись без этого
убираются кавычки через
-replace '"'
Заменить двойные на одинарные можно так
-replace '""','"'
The opinion expressed by me is not an official position of Microsoft
3 апреля 2016 г. 10:18Модератор -
С учетом замены двойных кавычек в тексте я делал так:
$source | ConvertTo-CSV -Delimiter ';' -NoTypeInformation | % {$_ -replace '"([^"]|$)', '$1' -replace '""','"' } | Set-Content -Path "$homedir\ShtatOUT.csv" -Encoding Unicode
Сазонов Илья
https://isazonov.wordpress.com/- Помечено в качестве ответа KazunEditor 8 апреля 2016 г. 6:29
4 апреля 2016 г. 6:27Модератор