none
PS Удаление принтеров RRS feed

  • Вопрос

  • Ситуация следующая на компах пользователей в домене, необходимо удалить имена принтеров, которые в компании уже неиспользуються (или в данный момент отключены)

    Пробовал на локальной машине  - удаляються  под моей сесией...

    (Get-WmiObject Win32_Printer -computer $comp -filter "ShareName='имя принтера'").Delete()


    Но вот на удаленной тачке  Get-WmiObject Win32_Printer -computer $comp
    во первых не показывает принтера
    во вторых под каждым пользователем настраиваються принтера

    Может можно как-то удалить имя принтера (ShareName)   зная его наперед (например hp-12) для всех пользователей на данном ПК????

    Что подскажете???

    20 марта 2009 г. 16:27

Ответы

Все ответы

  • его для этого достаточно удалить под учётной записью администратора. Тогда все потеряют этот принтер. Но это относится только к физически подключённым принтерам.
    [тут могла быть ваша реклама] http://www.sysadmins.lv
    20 марта 2009 г. 17:54
  • Принтеры сетевые, насколько я понимаю?
    Подключение сетевого принтера, если не ошибаюсь, относится к учетной записи пользователя, а не общим свойствам компьютера.
    Могу предложить добавить пользователям скрипт в автозагрузку.
    MCP
    22 марта 2009 г. 6:31
  •  Принтеры сетевые и соответственно подключаються под каждым пользователем...
    Скрипт в автозагрузку (можно было б и через GPO) не пойдет потому как PS стоит не накаждой машине в домене. А с VBS я мало знаком чтоб его применять....
    Может кто-то знает где данные о принтерах храняться в профиле пользователя??? И тогда удалять из профиля пользователя ...
    23 марта 2009 г. 8:38
  • Удаленный  WMI вам не подойдет, потому что надо подключаться к профилю пользователя.
    Поэтому вам лучше все же взять логон скрипт, т.к. именно он отрабатывает в профиле пользователя.
    Еще один метод: использовать Group Policy Preference
    Сазонов Илья http://www.itcommunity.ru/blogs/sie/
    23 марта 2009 г. 9:38
    Модератор
  • Пример на VBScript:

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    PrinterPath = "\\printserv\DefaultPrinter"
    WshNetwork.RemovePrinterConnection PrinterPath, true, true


    Сазонов Илья http://www.itcommunity.ru/blogs/sie/
    23 марта 2009 г. 10:12
    Модератор