|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] PS 5.0 модуль AD экспорт в эксель, в том же виде как в консоле |
|
PowerShell - [решено] PS 5.0 модуль AD экспорт в эксель, в том же виде как в консоле
|
Новый участник Сообщения: 6 |
у нас есть переменная в которой три связанных списка данных.
$Name =(get-ADUser -Filter {Enabled -eq "True"} -properties $ADProperties ` | select-object name,samaccountname,@{n="AD_SNILS";e={$_ ` |Select-Object -ExpandProperty $ADProperties ` | select-string $AD_SNILS}}) $Excel = New-Object -ComObject Excel.Application $Excel.Visible = $true $WorkBook = $Excel.Workbooks.Add() $sh1 = $WorkBook.Worksheets.Item(1) $sh1.Name = "$AD_SNILS" # fill cells $sh1.Cells.Item(1,1) = "кто" $sh1.Cells.Item(1,2) = "Логин" $sh1.Cells.Item(1,3) = "Снилс" а вот эта часть кода в идеале должна переносить данные переменной $name в соответствующие столбцы в эксель, что и происходит, но при этом получается что каждый список выгружается без привязки к значениям других списков + некоторые данные пропускаются, например пустые строчки. В итоге данные в консоле не соответствуют данным в экселе. |
|
Отправлено: 19:31, 11-10-2017 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 08:49, 12-10-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать эта часть кода отработала отлично
здесь появилась ошибка вот такая Исключение из HRESULT: 0x800A03EC At line:1 char:1 + $sh1.Cells.Item($j,3) = $arr.AD_SNILS + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [], COMException + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException остался вопрос как удалить из столбца в эксель "qqq" перед каждым значением ![]() нагуглил команды get-content и -replace но применить их по отношению к экселю пока не знаю как. |
Последний раз редактировалось zero273, 13-10-2017 в 16:35. Причина: опечатка Отправлено: 15:09, 13-10-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата zero273:
Цитата zero273:
Цитата zero273:
Или проверку типа/содержимого значения. |
|||
Отправлено: 15:24, 13-10-2017 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
такой вариант работает, спасибо. |
|||
Отправлено: 16:32, 13-10-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать zero273, тут надо отличать пустую строку и отсутствующее значение свойства. Как уж оно там отражается в типах — Empty, Null или ещё как — не знаю, смотреть мне не на чем. Важно, что при конкатенации его с пустой строкой происходит преобразование в тип «Строка», хотя ещё лучше бы было проверять содержимое и вовсе не задействовать присваивание «$sh1.Cells.Item($j,3) = …». Мне, опять же — не на чем.
|
Отправлено: 16:41, 13-10-2017 | #6 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 17:26, 13-10-2017 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] PS 5.0 модуль AD, импортировать несколько свойств пользователя в виде таблицы | zero273 | Скриптовые языки администрирования Windows | 2 | 11-10-2017 17:29 | |
Перезагрузка компьютера в одном и том же месте... | Crey | Непонятные проблемы с Железом | 6 | 09-01-2014 03:15 | |
Разное - экспорт из gpedit.msc в виде ключей реестра | HFShak | Microsoft Windows 7 | 2 | 18-03-2012 23:31 | |
Разное - Открытие в том же окне. | gambini | Microsoft Windows 2000/XP | 8 | 19-05-2009 17:39 | |
у меня локалка и сразу же соединение по модему как их всех 3-их в том числе и меня | GiTLer | Сетевые технологии | 2 | 26-12-2004 17:29 |
|