К сожалению (за исключением перекомпиляции yppasswd и трудно кодирования в Ваших требованиях), это не может быть выполнено, как указано. Я утверждал бы, что yppasswd демон должен быть отключен, и никакие вызовы к yppasswd не должны быть выполнены. Намного лучший подход должен настроить Вашу стопку pam, чтобы обработать собственные вызовы к passwd и продвинуть их через соответствующие каналы аутентификации. Кроме того, можно глобально исказить yppasswd к passwd-r Нис (пароль человека для отдельных аргументов).
Это было бы то, где я запущу.
Я смог продемонстрировать себе, что инструмент presentationsettings
, который я первоначально предложил, «учитывает» параметры групповой политики, которые не позволяют пользователю изменять свою экранную заставку. . Я не знал об этом, но это, безусловно, имеет смысл, учитывая, что пользователи просто использовали бы этот инструмент, чтобы освободить себя от экранных заставок, когда ничего, связанного с презентацией, не происходило.
Как @ HopelessN00b упоминает, вы можете захотеть изменить Группу Политика применима к «удаленным» портативным компьютерам. Вам нужно будет вызвать Loopback Policy Processing , потому что настройки заставки устанавливаются для каждого пользователя, а не для компьютера. Обработка политики обратной петли позволяет применять настройки пользователя к компьютеру независимо от того, кто вошел в систему.
Эта функция: к сожалению, сбивает с толку многих людей. В нем есть несколько различных «режимов» (слияние или замена), которые делают его еще более запутанным. Для своего приложения вы можете создать ссылку на объект групповой политики с гипотетическим подразделением «Remote Laptop Comptuers», которое включает обработку политики петли в режиме «слияния» в разделе «Конфигурация компьютера» и в разделе «Конфигурация пользователя» устанавливает заставку. свойства на все, что вы хотите. Когда в следующий раз эти машины будут перезагружены (поскольку для переключения с не-Loopback на Loopback требуется перезагрузка - обновление политики в фоновом режиме не включит его), вы увидите, что машины начинают получать настройки заставки из этого нового GPO.
За исключением написания какой-то хакерской клиентской сервисной программы, чтобы проникнуть в пользователя ' папка
На машине с Windows 8.1 x64 сценарий делает именно то, что я хочу.
Option Explicit
' Delay, in seconds, between attempts to resolve the domain name
' and pressing the "F15" key.
Const POLL_DELAY = 10
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
Dim objExec
Dim intFound
If UCase(Right(WScript.Fullname, 11)) = "WSCRIPT.EXE" Then
While 1
intFound = objShell.Run("cscript.exe """ & WScript.ScriptFullName & """", 0, True)
If intFound = 255 Then objShell.SendKeys("{F15}")
WScript.Sleep(POLL_DELAY * 1000)
Wend
Else
Set objExec = objShell.Exec("nslookup " & objShell.ExpandEnvironmentStrings("%USERDNSDOMAIN%"))
While Not objExec.StdOut.AtEndOfStream
If Left(objExec.StdOut.ReadLine, 5) = "Name:" Then WScript.Quit(0)
Wend
WScript.Quit(255)
End If
Типичный способ обработки этого - отдельный набор политик для пользователей или машин, определенных как «удаленные» сотрудники. Мы, например, есть подразделение с именем Remote Laptop Users
, которое позволяет этим пользователям больше контролировать дисплей и настройки питания именно по этой причине. (Вы также можете использовать фильтрацию WMI или фильтрацию безопасности для достижения тех же результатов, если вы не хотите или не можете изменять подразделения, в которых находятся эти объекты.)
Если вы можете заставить своих пользователей использовать инструмент настройки презентации , предложенный Эваном Андерсоном, это здорово, но мой опыт показывает, что пользователи, которые жалуются на такие вещи, также не поднимают пальца, чтобы решить проблему, и ожидают, что ИТ-специалисты исправьте это для них, так что вам, возможно, придется исправить это для них с другим GPO.