Windowsドメイン環境下にWindows7、8、10が混在している環境を構築しています。
管理者権限を持っていない一般ユーザーにソフトのアンインストールをさせたいと思い、ユーザーが実行するアンインストール用のスクリプトを作成しました。
Windows10環境で実行すると、バッチが実行できないような挙動をしており、困っています。
スクリプトの内容は、PSExec経由でアンインストーラーを実行するWSHです。
Windows7でスクリプトを実行すると、想定どおりアンインストールが実行されます。
Windows10ではアンインストールのバッチが動作せず、ウィンドウが一瞬開いて閉じてしまいます。
対象のバッチを直接実行した場合、エラーを出力して終了してしまいます。
●入力
<path_to_psexec>\PsExec.exe /accepteula -u <ローカル管理者> -p <ローカル管理者のパスワード> <path_to_batch_file>\uninstall.bat
●実行結果
<path_to_batch_file>\uninstall.bat exited widh error code 1.
・直接このバッチをコマンドプロンプトから実行した場合、アクセスが拒否されます
→バッチ記載のアンインストーラーへのパスを開くことができないのが理由だと思われます。
・コマンドプロンプトを管理者で開いて実行すると、正しくアンインストールは実行されます
・スクリプトから呼んでいるバッチは複数ありますが、一部のバッチはエラーを出力するのではなく管理者権限を要求されます
以上の理由から、指定した管理者ユーザーの権限で実行できていないのではないかと考えています。
また、検索をしてみたところ、以下のレジストリを登録する方法が記載されていました。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy 値:1
レジストリを登録後、PCを再起動して試してみましたが、状況は変わりませんでした。
何か対応方法をご存知の方はいらっしゃいますでしょうか。