web-dev-qa-db-ja.com

ソフトウェアのインストール中に通常の(非管理者)ユーザーをロックアウトする方法は?

Windows Embedded Standard 7を実行する多くのシンクライアントと、それらを管理するSCCM 2012 R2サーバーがあります。シンクライアントでは書き込みフィルターが有効(FBWF)になっているため、マシンの変更は永続的ではありません。まれに、何かを更新する必要がある場合は、SCCMを使用して展開するだけで、変更をコミットするために書き込みフィルターを自動的にオフにしてからオンに戻します。

これはが何をすべきか発生します:
SCCMクライアントはユーザーに通知し、作業を保存してシステムを終了するための30分のカウントダウンを行います。次に、シンクライアントが再起動し、書き込みフィルターを無効にします。ログオン画面に南京錠が表示され、ユニットがサービス中であることがわかり、SCCMが実行している間、通常の(非管理者)ユーザーはログオンできません。 SCCMが完了すると、書き込みフィルターが再度有効になり、再起動して、ユーザーは再度ログインできるようになります。

私が抱えている問題は、近接カードリーダーを使用してシステムにログインすることです。従業員はパスワードを入力しません。バッジをタップするだけです。このシステムは素晴らしいですが、それを実行するソフトウェアは、Windows Embeddedの書き込みフィルターの自動化を壊します。

これは実際にが起こることです:
SCCMクライアントは、書き込みフィルターをオフにして再起動する前に、通常の15分の通知を出します。再起動すると、通常のログイン画面が表示されます。ユーザーはシステムにログインして、SCCMがソフトウェアをインストールしているときに使用できます。また、ユーザーセッションがアクティブであるため、書き込みフィルターをオンにして再起動する前に、再度30分の通知が表示されます。

このシナリオでは、展開時間に30分を追加するだけでなく、通常のユーザーがシンクライアントで30〜60分の無防備な時間を確保し、変更を加えると、変更がイメージに永続的に焼き付けられるようになります。書き込みフィルターが再びオンになります。

この問題は、Windows Embedded 7が通常のWindows 7とは異なる資格情報プロバイダー(別名GINA)を使用しているが、SSO製品が機能するためにはWindows資格情報プロバイダーを置き換える必要があることが原因です。ベンダーに連絡しましたが、既知の問題であり、修正または回避策はないというだけです。

これが私の質問です:
望ましい動作を別の方法でシミュレートするにはどうすればよいですか?特定のユーザーグループへのローカルログオンを拒否できるグループポリシー設定があることを知っています。インストールの前後に対応するレジストリ設定を入れ替えることができると考えていましたが、他のアイデアを受け入れることができます。

必要に応じて、スクリプトインストールよりも上です。私はスクリプティング、PowerShell、VBScriptなどに堪能です。これを解決する方法について明るいアイデアがあるかどうか疑問に思います。


更新:
私は、これらのデバイスが病院環境で使用されており、スタッフが患者をグラフ化することを忘れていました。これらは24時間利用できる必要があるため、ログオン時間を制限したり、メンテナンスウィンドウを構成したりすることはできません。シフトの監督者に事前に通知することでダウンタイムを管理しますが、1時間以上かかるものは法令遵守の問題となり、正式なダウンタイム手順を実施する必要があります。

12
Wes Sayeed

先に進む前に、一般読者の利益のために、自分より多くのことを理解したいと思います。

sCCMでプッシュするだけです

SCCMはプルベースのテクノロジーです。私はあなたが何を意味していたかを知っていますが、私がティア1の人たちと一緒に、私が強調するすべての機会は、SCCMはプッシュベースのテクノロジーではないことを理解するのに役立ちます。


ベンダーに連絡しましたが、既知の問題であり、修正または回避策はないというだけです。

この問題の原因は組み込みカード認証プログラムであると思われるため、これは残念です。ベンダーを続けてください。実際にはソフトウェアを修正するでしょう。



[。

  • これらのクライアントのメンテナンスウィンドウを構成して、書き込みフィルターからクライアントを削除するための最初の再起動、実際のペイロード、および結果として生じる再起動がすべて、従業員がターミナルにいない時間外に行われるようにします。これは最も苦痛の少ないオプションのようです。 SCCMを今より複雑にする必要はありません。
  • セキュリティグループを[ログオンユーザーの拒否]権限に追加する ローカルグループポリシー テンプレートを作成し、アプリケーション展開の一部として割り当て/割り当て解除します。
  • PowerShellを使用して、ログオン拒否ユーザー権限を設定します。 PowerShell Community Extensions(PSCX) にはSet/Get-Privilegesユーザー権利の割り当てを操作できるコマンドレット
  • 必要に応じてAPIを使用できます。これが です。
4
user62491

これを処理するためにタスクシーケンスを使用する可能性について誰も触れなかったようです。そのため、利点をリストアップします(一般的にそれらに慣れていないと仮定しますが、慣れていても読んでください)。

インストールおよび構成したすべてがSCCMで処理される場合、タスクシーケンスを使用してこれを実行できるはずです。主にOSDの場合、TSの使用はOSDのonlyではなく、次の利点を提供できます。

ワークステーションにログオンしていません

TSはwinlogon.exeの実行前に実行されるため、ログオンウィンドウがないため、ユーザーが誤ってログオンする可能性はありません。これは私に私の第二のポイントをもたらします:

カスタム背景画面

メンテナンスが実行中であることを示すスプラッシュ画面、または本当に伝えたいことを提供できます。

TSは本当に美化されたスクリプトですが、多くの機能があり、開発時間を短縮するようにまとめられています。OSD以外のユースケースも見つかりました。

必要なことを行うためのスクリプトが既にあるようです。そのため、最小限のデバッグでTSにスクリプトを配置し、作業を開始できます。

4
MDMoore313

SSOソフトウェアがActive Directory資格情報を使用するかどうかを指定していないため、解決策はActive Directoryの「ログオン時間」機能を利用することです。これはユーザーごとのレベルですが、Powershellで簡単にスクリプト化できます( this が例です)。基本的に、SCCM更新ウィンドウでログオンを「拒否」するようにログオン時間を設定すると、SCCMがその間、ユーザーはクライアントにログインできなくなります。最初に強制的に再起動してそれらをログアウトさせる必要があります(ログオン時間機能はログインしているユーザーでは機能しません)。

2
Nathan C