Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Powershell ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Принтеры и powershell


Данная памятка посвящена печати и обзору принтеров находящихся как локально , так и в сети.Приступим:

 
PS C:Windowssystem32> Get-WmiObject -Class win32_Printer -computername localhost
 
 
Location      :
Name          : Microsoft XPS Document Writer
PrinterState  : 0
PrinterStatus : 3
ShareName     :
SystemName    : MKOZLOV
 
Location      :
Name          : Microsoft Office Live Meeting 2007 Document Writer
PrinterState  : 0
PrinterStatus : 3
ShareName     :
SystemName    : MKOZLOV
 
Location      :
Name          : Fax
PrinterState  : 0
PrinterStatus : 3
ShareName     :
SystemName    : MKOZLOV
 
Location      :
Name          : \printHP LaserJet M5035 MFP PCL 6
PrinterState  : 131072
PrinterStatus : 1
ShareName     : HP LaserJet M5035 MFP PCL 6
SystemName    : \print
 
Вывести список легко , выведем у нескольких компьютеров:
 
PS C:Windowssystem32> Get-WmiObject -Class win32_Printer -computername localhost, print | Format-Table systemname, name
 
systemname                                                  name
———-                                                  —-
MKOZLOV                                                     Microsoft XPS Document Writer
MKOZLOV                                                     Microsoft Office Live Meeting 2007 Document Writer
MKOZLOV                                                     Fax
print                                                      Xerox Phaser 3300MFP PCL 6
print                                                      Xerox
print                                                      Microsoft XPS Document Writer
print                                                      HP LaserJet M5035 MFP PCL 6
print                                                      HP 5035 MFP
 
Другой способ(используем цикл foreach который перебирает переменную $eachcomp в массиве $computers):
 
PS C:Windowssystem32> $computers = «localhost», «print»
PS C:Windowssystem32> foreach($eachcomp in $computers) {
>> Write-Host «Printers in $eachcomp»
>> Get-WmiObject -Class win32_printer -computername $eachcomp | Format-Table name, sharename
>> }
>>
Printers in localhost
 
name                                                        sharename
—-                                                        ———
Microsoft XPS Document Writer
Microsoft Office Live Meeting 2007 Document Writer
Fax
\printHP LaserJet M5035 MFP PCL 6                        HP LaserJet M5035 MFP PCL 6
 
 
Printers in print
 
name                                                        sharename
—-                                                        ———
Xerox Phaser 3300MFP PCL 6                                  Xerox Phaser 3300MFP PCL 6
Xerox                                                                    Xerox Phaser 3300MFP PCL 6
Microsoft XPS Document Writer
HP LaserJet M5035 MFP PCL 6                                  HP LaserJet M5035 MFP PCL 6
HP 5035 MFP                                                          HP LaserJet M5035 MFP PCL 6 (store2)
 
Вывод принтеров с портами вызывается так:
 
 
PS C:Windowssystem32> Get-WmiObject -Class Win32_TCPIPPrinterPort -computername store2
 
    А теперь усложним задачу.Например у нас есть несколько сетевых принтеров расшаренных на сервере , пришел новый сотрудник , необходимо добавить все принтера быстро — одним махом:
 
PS C:Windowssystem32> $ShPr = Get-WmiObject win32_printer -Filter «Shared = $true» -ComputerName Имя_Сервера
PS C:Windowssystem32> $ShNa = $ShPr | Select-Object -Property ShareName
PS C:Windowssystem32> $ShNa
Xerox Phaser 3300MFP PCL 6
HP LaserJet M5035 mfp
Epson AL-C4000
 
    А теперь подключаемся:
 
PS C:Windowssystem32> foreach ($printer in $ShNa)
>> {
>> $Path = «\» + «Имя_Сервера» + «» + $printer
>> ([wmiclass]«Win32_Printer»).AddPrinterConnection($Path)
>> }
>>
 
 
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0
 
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0
 
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0
 
Вуаля , принтеры добавлены!

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект