やじゅ@アプリケーション・ラボ わんくま支局

目次

Blog 利用状況

ニュース

プロフィール

MSMVP

caspol.exeを使用したセキュリティポリシーの設定

前記事 VSTOで、Outlook COMアドインのセットアップ
http://blogs.wankuma.com/yaju/archive/2009/06/08/174451.aspx

VSTOでOutlook COMアドインをインスール後に、セキュリティポリシーの設定
が必要なわけですが、その際に、セキュリティポリシーを設定するための
WSHスクリプトを作成しました。

バッチファイルで作成したかったんですが、レジストリの値を取得する方法が
いまいち分からなかったので(^^;

レジストリの値を取得するのは、インストール時にインストール先のフォルダパス
をレジストリに書き込むように設定してあるためです。


説明すると、セキュリティポリシーのコマンドラインツールであるCaspol.exeを
使って、セキュリティポリシーのユーザーのAll_Codeの配下に"VSTOAddin"
というグループを作成し、その下に"HOGE"の名前でURL先にインストール先の
フォルダパスをアクセス許可 FullTrustで設定してます。

caspolにてYes/Noの確認が出てくるのですが、入力させるのがわずらわしいので、
「echo y|%」を指定して、自動応答にしてます。
http://www.atmarkit.co.jp/fwin2k/win2ktips/731caclsy/caclsy.html

SecurityPolicy.vbsの中身

Option Explicit
'On Error Resume Next
dim WshShell,file
Set WshShell = WScript.CreateObject("WScript.Shell")

'RegReadメソッドで、レジストリ内の指定キーを取得(キーの分類については下記の表参照)。
file = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\HOGE\MailWatchAddinSetup\Path")

'セキュリティポリシー削除  既に存在してやり直したい場合(必要時のみ使用、現状はコメントアウト化)
'WshShell.Run "%comspec% /c echo y|%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -user -remgroup VSTOAddin",,True

'セキュリティポリシー作成(All_Codeの配下にVSOAddinグループを作成、その配下にインストール先のセキュリティポリシー許可をセット)
WshShell.Run "%comspec% /c echo y|%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -user -addgroup All_Code -allcode Nothing -n VSTOAddin",,True
WshShell.Run "%comspec% /c echo y|%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -user -addgroup VSTOAddin -url " & Chr(34) & file & "*" & Chr(34) & " FullTrust -n HOGE",,True

投稿日時 : 2009年6月29日 2:19

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント