none
Удаление принтеров развёрнутых через Груповые политики. RRS feed

  • Вопрос

  • Здравствуйте, имеется домен уровня windows server 2008, через групповые политики было развёрнуто несколько принтеров, принтеры были просто расшарины на некотором компе. Проблемы возникли когда комп к которому были принтеры подключены переименовали, политику изменили, она применилась на клиентах, новые принтеры появились, старые остались, вручную их удалить не получается, пишет "отказано в доступе", если заходить учёткой под которой ни разу на комп не входили то лишних принтеров не возникает. Как удалить старые принтеры? В gpresult старых принтеров нигде не показалось, только новые как положено. На рабочих станицях стоят Windows 7 корпоративная x64. Как временое решение удаляю ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider, тогда удаляются все сетевые принтеры у всех пользователей и не спеша по новой через политику развёртываются рабочие принтеры.
    2 июля 2012 г. 13:00

Ответы

  • Собственно, переименованием компьютера вы вызвали сбой в подключении принтеров - соответственно, теперь без чистки реестра в старых профилях вам не обойтись. В следующий раз перед переименованием отключите принтеры от клиентов, и только потом переименовывайте компьютер.  По второму вашему вопросу - описание принтера так не передать. Только то имя, которое вы задали при расшаривании.

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow us on TwitterFollow MSTechnetForum on Twitter

    Посетите Блог Инженеров
    Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    • Помечено в качестве ответа Yuriy Lenchenkov 18 июля 2012 г. 9:16
    5 июля 2012 г. 15:27

Все ответы

  • Добрый день.

    С удалите с помощью тех же политик. средствами Group Policy Preferences, Конфигурация пользователя/Настройка/Параметры панели управления/Принтеры, добавьте UNC имена принтеров, действие установить в положение "Удалить".

    Если GPP в домене не используется назначьте подобный logon скрипт на пользователей:

    sPrinterPath="\\servername\printername"
    Set WSHNetwork = CreateObject("WScript.Network")
    Set oPrinters = WSHNetwork.EnumPrinterConnections
    For i = 0 to oPrinters.Count - 1 Step 2
    	if UCase( oPrinters.Item(i+1)) = UCase( sPrinterPath) then
    	WSHNetwork.RemovePrinterConnection sPrinterPath, true, true
    	end if
    Next

    • Предложено в качестве ответа Albert Lavrentev 3 июля 2012 г. 3:53
    • Отменено предложение в качестве ответа Albert Lavrentev 3 июля 2012 г. 7:50
  • Первый вариант не сработал, gpresult на тему удаления принтера говорит "Результат: сбой (код ошибки: 0x8000ffff)".

    Второй вариант тоже не помог, я со скриптами крайне плохо дружу, какие-нить логи выполнения скрипта можно где-нибудь посмотреть?

  • Удалите через GPP  (User Configuration ---> Preferences ---> Windows Settings ---> Registry --->(создайте  Registry Item))  ветку   реестра HKEY_CURRENT_USER\Printers\Connections    .  Политику  примените   всего один раз  (Вкладка Common,  галочка Apply once and not reapply)
    Затем перезагрузите компьютеры  .. Удалятся  ВСЕ установленные принтеры  , HKEY_CURRENT_USER\Printers\Connections  будет    создана со значениями по умолчанию .  После  удалите политику и   снова    разверните нужные принтеры

  • Смущает вот это: "если заходить учёткой под которой ни разу на комп не входили то лишних принтеров не возникает" - очень похоже, что собака зарыта в локально сохранённом профиле. Попробуйте покопать в эту сторону. К примеру, сходу видятся варианты почистить профиль (или отдельно политики в нём), предварительно его забэкапив, или проверить эту учётку на такой машине, где под ней ещё ни разу не входили (где локальная копия отсутствует).
  • Второй вариант тоже не помог, я со скриптами крайне плохо дружу, какие-нить логи выполнения скрипта можно где-нибудь посмотреть?

    Код рабочий совершенно точно. там логов то никаких не нужно логика очень простая, перебирает все принтеры при нахождении совпадающего с тем что указан в переменной sPrinterPath его удаляет.

    Принтеры подключены в контексте пользователей, я правильно понимаю?

    В целом штатными средствами эти принтеры удаляются корректно? Правой кнопкой мышки - удалить я имею ввиду.
  • k1b3r: Чем ваш вариант лучше моего? Вариант с удалением данной ветки реестра я через политики тоже рассматривал, он плох тем что вот работает работает человек, а тут БАЦ политика применилась, ветка реестра удалена, все текущие принтеры отображаются но не работают, у человека паника ему надо что-то срочно распечатать, а ни один принтер не работает, надо перезагружать спуллер, после спуллера принтеров нет, надо делать gpupdate /force тогда принтеры появляются, либо перезагружаться. Если пользователь во время применения политики компьютер не включал, то после загрузки пусто в принтерах, надо ещё раз перезагружаться либо ждать неопределённое время когда примерится политика. А обегать все компы это не решение проблемы, так обегать всех после каждого изменения принтеров не хочется.

    webDancer: А где в профиле храниться информация о принтерах? На проблемных компах экспериментировал со своей учёткой, сначала удалял NTUSER.DAT, загружаюсь пишет мол загружен временный профиль, проверяем принтеры, с принтерами всё по старому. Тогда в панели управления профилями удаляю свой профиль, загружаюсь всё по старому. Единственное что помогло правка реестра, как я писал выше.

    albertlav: Да, принтеры подключены в контексте пользователей. Штатными средствами принтеры не удаляются, пишет "отказано в доступе", но это со всеми принтерами которые развёрнуты подобным образом.


    • Изменено rastayak 3 июля 2012 г. 8:43
  • О какой интересный нюанс я узнал. Если разворачивать принтер через "Конфигурация пользователя - Политики- конфигурация Windows - развёрнутые принтеры", то как раз возникает проблема с удалением, т.е. при попытке удалить вручную принтер ошибка "Отказано в доступе", но если разворачивать их через "Конфигурация пользователя - Настройки- конфигурация Windows - принтеры" то принтер можно удалить вручную и он вновь появится если перезайти в систему, и так же легко удаляется.

    UPD Единственное не удобство второго способа развёртывания, то что на клиентах принтер появляется с сетевым именем в названии, т.е. у принтера человеческое название "Принтер Марь Иваны", а у всех остальных он добавляется с названием к примеру hp1320buh, это можно как-нибудь настроить? Если можно, то вопрос можно будет считать закрытым.

    • Изменено rastayak 3 июля 2012 г. 10:21
  • Собственно, переименованием компьютера вы вызвали сбой в подключении принтеров - соответственно, теперь без чистки реестра в старых профилях вам не обойтись. В следующий раз перед переименованием отключите принтеры от клиентов, и только потом переименовывайте компьютер.  По второму вашему вопросу - описание принтера так не передать. Только то имя, которое вы задали при расшаривании.

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow us on TwitterFollow MSTechnetForum on Twitter

    Посетите Блог Инженеров
    Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    • Помечено в качестве ответа Yuriy Lenchenkov 18 июля 2012 г. 9:16
    5 июля 2012 г. 15:27
  • Уважаемый пользователь!
    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий

    12 июля 2012 г. 12:51