Pocket

2014/02/10 追記
差分ファイルを使用し、リモートから設定編集できるバッチファイルを作ってみました。
ローカルセキュリティポリシーの設定変更バッチ

Windows系でパスワードの長さとかを決めているのは、ローカルセキュリティポリシーという機能なんだけど、その管理方法は大きく分けて2パターンある。

一つが、コントロールパネル>管理ツールからある「ローカルセキュリティポリシー」からGUIによる管理。もう一つが、このseceditコマンドをコマンドプロンプトから実行する方法である。

一応、昔からある方法なんですが、実際に作業を行う前に「さすがにもう他にやり方あるんじゃね?PowerShellとかWSHとかさ」と思ったので調べてみた。

Sponsored Links

結論:他の方法は無い(Windows 8時点において)

どうやら、この一覧を見る限りPowerShellのコマンドレットにはグループセキュリティについて操作できるものはあっても、ローカルセキュリティポリシーについて操作するものは無いようだ。

この辺とか見ても、できないという意見しか無い…
オリジナルのコマンドレットでも作れば別なのかもしれないけど、まぁそこまですることでも無いだろ。ということでseceditでの一括更新方法について記述する。

でこのseceditコマンド、いきなりだが大いに不満が。それは…

ポリシーを個別に設定できない

いきなりこれだと何言ってるのかわからないと思うので補足。例えば、ログイン時のパスワードの長さだけ変更したいとする。
この時、GUI上からは「パスワードの長さ」の箇所だけ変更すればいいが、seceditはそうではない。

“セキュリティポリシーすべての設定を持つテンプレート”をインポートする必要があるのだ。これは使いづらい…

このため、このseceditコマンドによるセキュリティポリシーの変更は以下の場合に有効な方法といえるのかな。

①オリジナルの1台と全く同じ設定を適用する場合。
②ローカルセキュリティポリシーの設定が最初からすべて決まっている場合。

インストール済/稼働中のマシンに対して、追加で設定を行うのには向いていないような気がする。

前置きが長くなったが、設定の方法。

まずは、手動でローカルセキュリティポリシーを好きな状態に変更した後と仮定する。

で、以下のコマンドを実行してセキュリティポリシーテンプレートを抽出。

secedit /export /areas SECURITYPOLICY /cfg secedit.txt

なお、上記コマンドは管理者権限でコマンドプロンプトを実行する必要がある。

で、抽出したセキュリティテンプレートを変更対象のパソコンの中にダウンロード。
以下のコマンドを実行。

secedit /configure /db secedit.sdb /areas SECURITYPOLICY /cfg secedit.txt

以上。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。