В настоящее время я работаю над созданием сценария PS для сканирования сети и получения всех серверов Windows, их ключей продуктов, ключей продуктов SQL Server, ЦП, ОЗУ, общих сетевых ресурсов и служб на всех найденных серверах Windows. В основном это делается для того, чтобы составить список информации для оценки сайта перед объединением сетей в нашу, когда наша компания покупает новый офис / другую компанию. До сих пор мне удавалось добиться, чтобы вся эта часть работала довольно четко, и информация передавалась в файлы .txt или .csv.
Единственная важная часть информации, которую я хочу собрать, - это сетевые принтеры. Пока что самое близкое, что я могу найти, - это метод возврата устройств uPNP в сеть, который не возвращает все принтеры. В настоящее время он возвращает только МФУ Ricoh, а также у нас есть несколько принтеров HP и других принтеров в сети.
Мой вопрос: есть ли в Powershell метод или функция для получения IP-адреса, марки и модели принтеров в сети? В настоящее время сценарий принимает вводимые пользователем данные для сканирования сети в виде X.X.X.0 и получает информацию для каждого IP-адреса (через цикл и счетчик) до X.X.X.254 поэтому, если метод / командлет зависит от IP / хоста, это нормально.
Я не нашел ничего для получения информации о принтерах с помощью PS, кроме получения локальных принтеров или принтеров с сервера печати, и большинство компаний, с которыми мы имеем дело, не имеют серверов печати.
Спасибо заранее.
Итак, чтобы наполовину решить проблему, я нашел способ проверить ответы на порте 9100, который используется большинством сетевых принтеров, и вывести список IP-адресов в файл Printers.csv. Это будет служить ссылкой для заполнения адресов принтеров позже вручную. Некоторые из используемых методов были взяты из Эта статья в случае, если кто-то еще желает сослаться на это. Я изменил порт на 9100 и установил оператор IF для вставки IP-адресов в массив при циклическом прохождении сети, а затем отправил массив в .csv.
До сих пор это работало на принтерах Ricoh, HP и Konica в нашей среде. Надеюсь, это поможет любому, кто может работать с Powershell, создать сценарий быстрого сканирования.
ОБНОВИТЬ:
Вот копия файла .ps1 Я сделал это на тот случай, если кто-то еще работает над подобным проектом. Он не возвращает имена серверов ESX или марки и модели принтеров, но, по крайней мере, помещает IP-адреса в CSV, чтобы вы знали, с чего начать поиск.
Я собираюсь ответить на ваш вопрос другим способом получить то, что вы хотите, а не способом сделать это так, как вы просите.
Вы заглянули в Spiceworks? Он отлично собирает все (или, по крайней мере, большую часть) этой информации и многого другого, и это бесплатно. Я работаю в консалтинговой фирме, которая проводит оценку ИТ для небольших компаний, и мы используем ее, чтобы получить действительно хороший первый проход по всему их инвентарю.
Они уже потратили время на выяснение крючков большинства устройств производителей, чтобы получить эту информацию. Если вы делаете это самостоятельно с нуля, вы должны знать, как каждый поставщик принтеров настраивал HTML для своих страниц управления (а у каждого поставщика может быть несколько линий продуктов), и вам придется это очистить. Вам нужно будет создать базу данных по всем поставщикам принтеров и линейкам продуктов с возможностью запрашивать информацию о продукте для каждого из них - через SNMP, telnet или очистку страницы HTTP (S). Spiceworks уже сделает это за вас.
Я большой поклонник делать что-то крутое и интересное, но я больше поклонник того, чтобы не изобретать колеса заново, особенно если я не продаю колеса, я гоняю людей.