PowerShell .PS1スクリプトがあり、グループポリシーのログオンスクリプトを介して適用しようとしています。これが.PS1スクリプトです(非常に単純で、ユーザーをRDユーザーグループに追加するだけです)。
net localgroup "Remote Desktop Users" "$env:USERDOMAIN\$env:USERNAME" /add
による RSoP.msc
とGPresult
、GPOは問題なく適用されています。PS1を手動で実行でき、(Adminとして、Set-ExecutionPolicy Unrestricted
)。ただし、ログインしているユーザーが「リモートデスクトップユーザー」グループに追加されることはないため、スクリプトは機能していません。
RSoP.msc
「最後に実行された」時間の下では、スクリプトでは空白です。イベントビューアを調べて、スクリプトが機能しない理由をよりよく理解したいのですが、正確に何を探すべきかわかりません。
編集:どうやらログオンスクリプトmustログオンしたユーザーとして実行されるため、ユーザーが持っている(または持っていない)アクセス許可を継承します。スクリプトをコンピューター側で実行して、システムアカウントを使用するため、エンドユーザーがローカル管理者権限を持たなくても機能するかどうかを確認します。
スケジュールされたタスクを実行するアカウントとしてシステムを使用して、グループポリシーを介して展開されたスケジュールされたタスクとして実行することができました。
_Computer Configuration > Preferences > Control Panel Settings > Scheduled Tasks
_の下に新しいスケジュールされたタスクを作成し、Scheduled Task (Windows Vista and Later)
タスクタイプを選択します。
アカウントを_NT AUTHORITY/System
_に設定し、_run with highest privileges
_に設定します。
_at log on
_の_any user
_をトリガーするように設定:
action
の下の_Start a program
_を選択し、プログラム/スクリプトとして_Powershell.exe
_を設定し、引数としてスクリプトへのパスを設定します。
他のすべてのタブは変更しないでください。
ユーザーがログインすると、PowerShellウィンドウが表示され、lusrmgr.mscを確認すると、指定されたグループのユーザーが表示されます。