web-dev-qa-db-ja.com

サーバーからバッチファイルを実行できません。ユーザーにはファイルにアクセスする権限がありません

サーバー2008r2ドメインコントローラーでいくつかのログオン/ログオフスクリプトを実行しようとしています。スクリプトは、デフォルトのグループポリシーログオフディレクトリにあります

\\domain.local\SysVol\domain.local\Policies\{guid}\User\Scripts\Logoff

ログオフ時に何も起こらなかったので、スクリプトがまったく実行されていないことにようやく気づきました。スクリプトをローカルマシンにコピーして実行すると、正常に実行されます(通常の認証済みユーザーアカウント)。

次に、ファイルエクスプローラーからディレクトリにアクセスしようとしました。ただし、バッチファイルを実行できませんでした。エラーが表示されます

"Windowsはアクセスできません(\ファイルの場所)アクセスする権限がありません(\ファイルの場所)ネットワーク管理者に連絡してアクセスをリクエストしてください。"

右クリックして管理者を実行すると、正常に動作します。バッチファイルの内容は重要ではないため、ここでは触れていません。 test.batと同じ方法でログオンスクリプトを作成しました。それだけが含まれています

echo Hello
pause

繰り返しになりますが、これはユーザーのスクリプトフォルダーでは機能しません。ファイルサーバーのテスト共有に配置すると、同じエラーが発生します。コマンドプロンプトを使用してバッチファイルを実行すると、正常に機能します。

また、グループポリシーが適用されており、ワークステーションのイベントビューアにエラーログはありません。

最後に、ドメインユーザーアカウントにファイル自体に対するより多くの特権を与えようとしましたが、それでも実行されません。ドメイン管理者だけがファイルを実行できます。

何かご意見は?

2
ASGJim

バッチファイルを\\DomainController\Netlogonに移動してから、GPOでそのパスを参照し、その.batファイルをログオフスクリプトに使用します。

これで、権限の問題が解決されます。

DCがたくさんある場合は、GPOから\\%LOGONSERVER%\NETLOGON\copyNinite.batにバッチファイルへのパスを設定できます。

次に、DC認証されたものをバッチファイルへのパスとして使用します。バッチファイルは、サイトに対してローカルである必要があります。

お役に立てば幸いです。

2
TheCleaner

ユーザーアカウント制御ファイルシステムの仮想化のように思えます。実験として、useraccountcontrolsettings.exeを実行し、UACを「通知しない」に設定します。再起動して再テストします。スクリプトが機能する場合、それは間違いなくUACです。

0
Simon Catlin

BATがあるフォルダを右クリックします->セキュリティ->すべてのユーザー->すべて許可。そこにリストされている他のユーザーも確認してください。同様の問題があったので、おそらくそれが問題です。

0
Zara