お客様のサイトでPowerPointやExcelでプレゼンテーションを行うリモートラップトップユーザー向けのソリューションを検討するように求められました。 Server 2008/Win 7環境を実行しています。非アクティブな状態が5分間続くと全員のPCをロックし、再度ログインするにはパスワードを要求するグループポリシーがあります。ラップトップのユーザーがログインしているが、ドメインにローカルにいない場合、この設定を変更できるかどうか尋ねられました。 PP、Word、またはExcelでプレゼンテーションを行っているときに画面がロックしないように調整できるようにしたいと考えています。私の知る限り、PowerPointはフルスクリーンモードのときにスクリーンセーバーを無効にしますが、他のプログラムでこれを実現する方法はわかりません。ラップトップのプレゼンテーションモードを試してみましたが、グループポリシーのため、「スクリーンセーバーを無効にする」設定はグレー表示されています。何か案は?ありがとう。
私が最初に提案したpresentationsettings
ツールは、ユーザーがスクリーンセーバーを変更できないようにするグループポリシー設定を "尊重"していることを自分で実証することができました。私はこの動作を認識していませんでしたが、ユーザーがこのツールを使用して、プレゼンテーションに関連することが何も起こらなかったときにスクリーンセーバーを免除することを考えれば、当然のことです。
「リモート」ラップトップコンピュータに適用されるため、@ HopelessN00bが言及しているように、グループポリシーを変更することをお勧めします。スクリーンセーバーの設定はコンピューターごとではなくユーザーごとであるため、 ループバックポリシー処理 を呼び出す必要があります。ループバックポリシー処理を使用すると、ログオンしたユーザーに関係なく、ユーザー設定をコンピューターに適用できます。
残念ながら、この機能は多くの人を混乱させます。いくつかの異なる「モード」(マージと置換)があり、さらに混乱します。アプリケーションの場合、リンクGPOへのリンクを作成できます。 "GPO $ ==="は、 "コンピューターの構成"セクションの "マージ"モードでループバックポリシー処理を有効にします。 [ユーザーの構成]セクションで、スクリーンセーバーのプロパティを好きなように設定します。次にこれらのマシンを再起動すると(非ループバックからループバックへの切り替えには再起動が必要になるため、バックグラウンドポリシーの更新では有効になりません)、マシンがこの新しいGPOからスクリーンセーバー設定を取得し始めるのを確認してください。
ユーザーのレジストリに到達し、グループポリシーのスクリーンセーバーの制限値を切り替えるために、ある種のハッキングされたクライアント側のサービスプログラムを書くのではありません(レジストリのアクセス許可のためにユーザーが自分で行うことはできないため)。悪の少ない方を選択し、ラップトップコンピューターのユーザーに対するスクリーンセーバーの制限を無効にするか、サードパーティの「マウスジグラー」またはキーボードシミュレーションソフトウェアを使用するか、単にユーザーに共存させる必要がある状況それ。
編集:
あなたが探していることを実行できるサードパーティのプログラムはいくつもありますが、組み込みのOSコンポーネントのみで実行することには「優雅さ」があります。
以下は、wscript.exe
による実行に適した小さなVBScriptプログラムです(つまり、これをグループポリシーの基本設定でコンピューターの "スタートアップ"フォルダーに直接展開できます)。これは、ドメインがDNS名は、ネットワークの外部で解決できません。 (それが外部的に解決できる場合、率直に言って、あなたはあなたが値するものを得ます。)
このスクリプトは、nslookup
を使用してUSERDNSDOMAIN
環境変数で指定されたドメインを解決するポーリングループにあります。 10秒ごとにポーリングしますが、Const POLL_DELAY
行を変更することで変更できます。 (wscript.exe
のみで実行すると、ポーリング間隔ごとにウィンドウが一時的に表示されるため、自分自身を再度実行するという奇妙な旋回が必要ですが、これは良いことではありません。)
ドメイン名が解決しない場合、「F15」キーが「押され」、Windowsがスクリーンセーバーをアクティブにしない十分なアクティビティが発生します。
このスクリプトは、管理用テンプレート設定を含むグループポリシーオブジェクトが適用されているドメインユーザーを使用してログオンしたWindows 8.1 x64でテストされました。
scrnsave.scr
テスト方法は次のとおりです。
ss.vbs
という名前のプログラムをコンピューターの「スタートアップ」フォルダーに配置します。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
という名前のOUがあります。これにより、これらのユーザーは、まさにこの理由により、ディスプレイと電源の設定をより詳細に制御できます。 (WMIフィルタリングまたはセキュリティフィルタリングを使用して、同じ結果を実現したい場合や、これらのオブジェクトが含まれているOUを変更できない場合もあります)。
ユーザーにEvan Andersonの提案する プレゼンテーション設定 ツールを使用させることができればそれはすばらしいことですが、私の経験では、この種のことについて不平を言うユーザーは持ち上げないユーザーでもあるということです問題を修正し、ITがそれらを修正することを期待するため、別のGPOを使用して修正する必要があるかもしれません。