(Необходимо отправить содержание sendmail.mc, если он существует. sendmail.cf производится m4 после чтения его),
Выполненный sendmail - купленный (тестовый режим). В то время как там, введите $ =w для осмотра содержания переменной. Если содержание переменной включает wtw3.com, это означает, что Ваше локальное поле рассматривает что-либо, что отправляется в anyuser@wtw3.com как почта, которая должна быть обработана локально и поэтому если пользователь не выходит, это жалуется. Попытайтесь удалить wtw3.com из/etc/mail/local-host-names, если это там
(BTW от того, что я понимаю машину, кажется, настроен, чтобы полагать, что для каждого доменного имени база данных Kuser должна быть проверена на LHS адреса прежде, чем попытаться послать электронное письмо),
Один быстрый взлом для предотвращения этого должен определить следующее в sendmail.mc
определите (LUSER_RELAY, '[один из Google MX]') dnl
Включайте [] скобки.
Я не знаю, как Вы производите sendmail.cf из нового sendmail.mc для Вашего распределения. В Debian я выполняю sendmailconfig.
Более соответствующая конфигурация для Вашей машины, должен был бы или использовать ФУНКЦИЮ (nullclient) или изменение http://blog.postmaster.gr/2006/09/06/configuring-sendmail-for-your-unix-desktop/
Похоже, вы можете сделать это с через COM API (так что вы можете использовать любой язык сценариев, который может использовать COM - VBScript, PowerShell и т. Д.).
Приведенный ниже фрагмент VBScript будет искать ожидающие обновления, загружать их и устанавливать без вывода сообщений.
Option Explicit
Dim objUpdateSess
Dim objUpdateSearcher
Dim objDownloader
Dim objInstaller
Dim objSearchResult
Set objUpdateSess = CreateObject("Microsoft.Update.Session")
Set objUpdateSearcher = objUpdateSess.CreateUpdateSearcher()
Set objDownloader = objUpdateSess.CreateUpdateDownloader()
Set objInstaller = objUpdateSess.CreateUpdateInstaller()
' Search for pending updates
Set objSearchResult = objUpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0 and Type='Software'")
' Download the pending updates
objDownloader.Updates = objSearchResult.Updates
objDownloader.Download()
' Install the pending updates
objInstaller.AllowSourcePrompts = False
objInstaller.ForceQuiet = True
objInstaller.Updates = objDownloader.Updates
ObjInstaller.Install()
Этот скрипт не имеет абсолютно никакой проверки ошибок, поэтому на самом деле не используйте его! Существует множество небольших скриптов, которые люди написали для автоматизации этого процесса по всей сети (некоторые из них отправляют электронные письма, автоматически перезагружаются после завершения и т. Д.). Поищите и посмотрите, что у вас получится, или попробуйте сами.
Приведенный ниже фрагмент VBScript будет искать ожидающие обновления, загружать их и устанавливать в автоматическом режиме.
Option Explicit
Dim objUpdateSess
Dim objUpdateSearcher
Dim objDownloader
Dim objInstaller
Dim objSearchResult
Set objUpdateSess = CreateObject("Microsoft.Update.Session")
Set objUpdateSearcher = objUpdateSess.CreateUpdateSearcher()
Set objDownloader = objUpdateSess.CreateUpdateDownloader()
Set objInstaller = objUpdateSess.CreateUpdateInstaller()
' Search for pending updates
Set objSearchResult = objUpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0 and Type='Software'")
' Download the pending updates
objDownloader.Updates = objSearchResult.Updates
objDownloader.Download()
' Install the pending updates
objInstaller.AllowSourcePrompts = False
objInstaller.ForceQuiet = True
objInstaller.Updates = objDownloader.Updates
ObjInstaller.Install()
Этот сценарий не имеет абсолютно нулевой проверки ошибок, поэтому не используйте его на самом деле! Существует множество небольших скриптов, которые люди написали для автоматизации этого процесса по всей сети (некоторые из них отправляют электронные письма, автоматически перезагружаются после завершения и т. Д.). Поищите и посмотрите, что у вас получится, или попробуйте сами.
Приведенный ниже фрагмент VBScript будет искать ожидающие обновления, загружать их и устанавливать в автоматическом режиме.
Option Explicit
Dim objUpdateSess
Dim objUpdateSearcher
Dim objDownloader
Dim objInstaller
Dim objSearchResult
Set objUpdateSess = CreateObject("Microsoft.Update.Session")
Set objUpdateSearcher = objUpdateSess.CreateUpdateSearcher()
Set objDownloader = objUpdateSess.CreateUpdateDownloader()
Set objInstaller = objUpdateSess.CreateUpdateInstaller()
' Search for pending updates
Set objSearchResult = objUpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0 and Type='Software'")
' Download the pending updates
objDownloader.Updates = objSearchResult.Updates
objDownloader.Download()
' Install the pending updates
objInstaller.AllowSourcePrompts = False
objInstaller.ForceQuiet = True
objInstaller.Updates = objDownloader.Updates
ObjInstaller.Install()
Этот сценарий не имеет абсолютно нулевой проверки ошибок, поэтому не используйте его на самом деле! Существует множество небольших скриптов, которые люди написали для автоматизации этого процесса по всей сети (некоторые из них отправляют электронные письма, автоматически перезагружаются после завершения и т. Д.). Поищите и посмотрите, что у вас получится, или попробуйте сами.
У Microsoft есть отличный образец vbscript для установки обновлений через Центр обновления Windows по адресу http://msdn.microsoft.com/en-us/library/windows/desktop/aa387102 (v = vs.85) .aspx
Есть несколько настроек, которые я бы сделал для вашего использования, например, автоматическое принятие всех лицензионных соглашений с конечным пользователем и отказ от задания каких-либо вопросов.
Редактирование локальной групповой политики - это самое близкое, что я могу придумать, чтобы делать то, что вам может понадобиться.
Если система является частью домена, вы также можете сделать это с помощью групповой политики.