![]() |
Работа с доменными компьютерами
Всем доброго дня! Есть следующая проблема: Нужно создать скрипт инвентаризации компов.
$comps= Get-ADComputer -Filter * -Properties * | Sort LastLogonDate | FT Name #получаю имена компов в переменной. Как дальше работать с этими именами и вообще то ли я делаю? Если сделать test-connection $comps то сыпятся ошибки такого рода: Test-Connection : Не удалось протестировать подключение к компьютеру "Microsoft.PowerShell.Commands.Internal.F ormat.FormatEndData": Этот хост неизвестен Неверный формат данных Как мне работать с Microsoft.PowerShell.Commands.Internal.Format.FormatEndData ? Даже если я выведу имена, то сможет ли тест-коннекшн делать поочередно для каждого имени или надо как-то выводить 1 строчкой, разделенных запятой? Если да то как это сделать? Если данный вопрос уже ранее обсуждался прошу прощения, укажите на ту же проблему и ответ на нее, заранее благодарен! |
Код:
$Computers = Get-ADComputer -Filter * -Properties * |
Цитата:
Всегда надо понимать данные какого типа ты передаешь командлету, и узнать это можно двумя способами: 1. $variable | Get-Member 2. $variable.GetType() Цитата:
https://www.pdq.com/pdq-inventory/ |
или GLPI - https://glpi-project.org/ru/
|
Ageron, большое человеческое спасибо! Не знал что есть переменные для цикла, работающая чисто в нем и нигде больше. Думал уже выгружать имена текстом, как-то эти данные обработать, расставить после каджого слова запятые и сувать в тест-коннекшн >_<
DJ Mogarych, готовое решение брать не буду, хочу сам разобраться как это работает. Charg, именно непонимание типов данных меня походу и останавливало Всем еще раз спасибо, если столкнусь с непреодолимыми (с моей стороны) вопросами продолжу писать сюда. Надеюсь в конце этой темы выложу хорошее решение для данной задачи =) |
Ну, GLPI - это не очень готовое решение, его надо ещё как минимум установить и настроить, а ещё расставить агентов на клиентские тачки политикой.
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Prosto_Ivan, т.е. результатом работы твоего скрипта является файл с данными внутри? Т.е. фактически база данных, но в файле. Это так не делается :)
|
Charg, а как это видишь ты? поднять БД ради 4 столбцов и все время обращаться к ней? как видится мне: я всегда имею файл, который можно прочитать своими глазками и понять что чтото идет не так, который могу скормить и 1с и заббиксу и кому угодно.
|
Prosto_Ivan, либо базу данных (ты ж историю заходов пользователей вести хочешь?) либо сразу заливай в 1с и заббикс, зачем файл в лице бесполезного посредника?
К тому же, насколько я понял, тут больше интерес в том чтобы научиться делать чем в том чтобы пользоваться результатом (потому что готовые решения то они и так уже есть) - тем лучше, заодно и с базами научишься работать, этот навык бесполезным назвать нельзя никак. Потому что самый действенный, как по мне, способ чему-то научиться - попробовать, нифига естесственно с первого раза не получится, и дальше ковырять всё это попутно решая всплывающие нюансы. |
Цитата:
У вас уже есть AD - это прекрасная база данных. Сделайте логон-скрипт, который пишет обратно в AD те параметры, которые вам нужны. Вот пример: http://forum.oszone.net/post-2889487.html#post2889487 |
Prosto_Ivan, я так и не понял что ты хочешь получить на выходе от скриптов? Какая цель инвентаризации?
test-connection это просто PING. Для ping-а всех ПК домена лучше использовать workflow. Так будет быстрее. На выходе показывает всё, что пингуется. Test-Connection
Код:
$computers = Get-ADComputer -Filter * | Select -ExpandProperty DNSHostName |
Время: 10:46. |
Время: 10:46.
© OSzone.net 2001-