SACに邪魔されずアプリを起動
スマートアプリコントロール(SAC)。唐突に(とユーザには見えたはず)windowsに導入されたセキュリティ制限です。一言で言えば、マイクロソフトが知らないアプリは実行をストップするという超お邪魔機能。以前は、意図的に有効化しなかったら無関係だったけど、最近は既定で有効化されているみたい。デジタル主権ガーっとか言いたいことはあるけど、とりあえず対策。 前提:windowsに最新のアップデートが当たっていること。少し前まで、一度オフにしたらwinをクリーンインストールし直さなきゃオンにできない、という超ド級の意地悪が仕込まれていたので、試す人はそのことに留意してね。 対策は、windowsの「送る」フォルダ(%APPDATA%\Microsoft\Windows\SendTo)に、一時的にSACをオフにするスクリプトを起動するショートカットを仕込むこと。やり方などは、ソースの注釈にあります。#SAC(スマートアプリコントロール)で撥ねられるアプリを起動するためのショートカット&スクリプト<#ショートカット引数確認デバグ用Add-Type -AssemblyName System.windows.forms[windows.forms.messagebox]::show("$args")exit<#ショートカットの「リンク先」には次を指定。powershell -w h -ex bypass ". 'このスクリプトのパス' "このショートカットを「送る」フォルダに配置すれば、任意のアプリをSAC設定にかかわりなく起動できる。ショートカットのプロパティを開き、「詳細設定」から「管理者として実行」を選択「実行時の大きさ」プルダウンで「最小化」を選ばないと、一瞬黒画面が出るスタートメニューにショートカットを配置したいときは「リンク先」末尾に実行ファイルのパス#>#現在のSAC状態をレジストリから読み取り、保存$sacNow= (gp HKLM:\SYSTEM\CurrentControlSet\Control\CI\Policy).VerifiedAndReputablePolicyState#SACを一時的にオフsp -path HKLM:\SYSTEM\CurrentControlSet\Control\CI\Policy -name VerifiedAndReputablePolicyState -value 0#設定をOSに読み込ませる"`n"|citool.exe -r#引数のアプリを起動 ※試行錯誤の結果"$args".trim()でないと起動しないstart "$args".trim() -Wait#レジストリ復帰sp -path HKLM:\SYSTEM\CurrentControlSet\Control\CI\Policy -name VerifiedAndReputablePolicyState -value $sacNow#設定をOSに読み込ませる"`n"|citool.exe -r