|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Как получить список расшаренных принтеров? |
|
|
PowerShell - [решено] Как получить список расшаренных принтеров?
|
Новый участник Сообщения: 44 |
Здравствуйте!
Настраиваю сервер печати в домене на windows server 2008r2. Стоял вопрос, как подключать принтеры, расшаренные на сервере, пользователям. Изучив множество решений, пришел к такому: 1. На каждый принтер назначил группу безопасности. Если пользователь не состоит в группе, то он не сможет подключить принтер, и печатать на него. 2. Политикой разрешить пользователю устанавливать драйвера для принтеров. 3. установку/удаление принтером производить logon скриптом: алгоритм скрипта: 1. получить список установленных (подключенных) принтеров. 2. Все принтеры подключенные с сервера печати, но без доступа ( если ранее пользователь имел доступ к принтеру, состоял в группе, а потом пользователя удалили из группы безопасности) отключить. 3. получить список всех принтеров с сервера (список можно отфильтровать по доступности), подключить все принтеры из списка ( с подавлением ошибки о отсутствие доступа) ( наверно, нужна будет проверка на уже подключенные). Все этапы, вроде как понятны, и широко описаны в интернете, за исключением, получения списка расшаренных на сервере принтеров. Все решения которые я находил (Win32_Printer), требовали прав администратора на сервере, а скрипт планируется запускать с правами пользователя. Конечно, можно сформировать список и сохранить его в ТХТ, и потом подключать принтеры ссылаясь на этот список. Но это план Б) И вопрос: Как получить список расшаренных принтеров с сервера печати, без прав администратора? Подскажите пожалуйста. |
|
Отправлено: 19:37, 17-07-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата yanus74:
|
|
Отправлено: 21:46, 17-07-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Get-WmiObject -Class Win32_Printer -ComputerName поискал на английском, нашел еще "net view \\MyServer ", есть еще какие нибудь способы?) Интересуют решение на powershell |
|
Последний раз редактировалось yanus74, 17-07-2015 в 22:08. Отправлено: 21:48, 17-07-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать yanus74, так вот я и спрашиваю, чтобы посмотреть. Я не уверен, что простое перечисление требует наличия административных прав.
|
Отправлено: 22:10, 17-07-2015 | #4 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Get-WmiObject -Class Win32_Printer -ComputerName W2K8R2-PS-TEST Get-WmiObject : Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)) строка:1 знак:14 + Get-WmiObject <<<< -Class Win32_Printer -ComputerName W2K8R2-PS-TEST + CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand |
||
Отправлено: 22:16, 17-07-2015 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 23:18, 17-07-2015 | #6 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Iska,
результат выполнения из под обычного пользователя: gwmi -Class Win32_Share -ComputerName W2K8R2-PS-TEST -Filter 'Type=1' Get-WmiObject : Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)) строка:1 знак:5 + gwmi <<<< -Class Win32_Share -ComputerName W2K8R2-PS-TEST -Filter 'Type=1' + CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand |
Отправлено: 23:28, 17-07-2015 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать yanus74, а на WSH, интересно, как отреагирует?
|
Отправлено: 23:51, 17-07-2015 | #8 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Iska, я не знаю как на vbs это реализовать.
В любом случае, я считаю, что работать не будет. Т.к. в PowerShell, командлет Get-WmiObject запускает на удаленном компьютере ( ключ -ComputerName) Win32_Share. А для этого нужен доступ к этому объекту ( можно конечно разрешить, но вот как , я пока хз. ну и если разрешить доступ для обычных пользователей, к этому объекту wmi, то пользователь через этот объект сможет управлять принтерами ( сетевыми папками)). Сами Win32_Share и Win32_Printer не имеют методов, указывающих, с какого компьютера получать вывод. Видимо, нужен либо другой объект wmi или com, который будет иметь метод, в который можно будет передать имя компьютера, с которого нужно получить данные. |
Отправлено: 07:54, 18-07-2015 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата yanus74:
|
|
Отправлено: 08:12, 18-07-2015 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как получить список файлов находящихся в каталоге? | Kocuk | Microsoft Windows 2000/XP | 8 | 27-02-2012 23:25 | |
[решено] Как распечатать(получить) список пользователей домена. | RedX | Microsoft Windows NT/2000/2003 | 4 | 22-04-2010 09:03 | |
[решено] Как получить список пользователей | Vagac | AutoIt | 2 | 06-11-2009 12:24 | |
Разное - [решено] Как получить список локальных пользователей | ZlojMyX | Microsoft Windows 2000/XP | 1 | 16-03-2009 11:16 | |
Как получить список пользователей AD? | Evgeniy15 | Microsoft Windows NT/2000/2003 | 10 | 09-04-2007 18:03 |
|