web-dev-qa-db-ja.com

GPO PS1ログオンスクリプトは、ユーザーのローカル管理者権限がないと機能しません

PowerShell .PS1スクリプトがあり、グループポリシーのログオンスクリプトを介して適用しようとしています。これが.PS1スクリプトです(非常に単純で、ユーザーをRDユーザーグループに追加するだけです)。

net localgroup "Remote Desktop Users" "$env:USERDOMAIN\$env:USERNAME" /add

による RSoP.mscGPresult、GPOは問題なく適用されています。PS1を手動で実行でき、(Adminとして、Set-ExecutionPolicy Unrestricted)。ただし、ログインしているユーザーが「リモートデスクトップユーザー」グループに追加されることはないため、スクリプトは機能していません。

RSoP.msc「最後に実行された」時間の下では、スクリプトでは空白です。イベントビューアを調べて、スクリプトが機能しない理由をよりよく理解したいのですが、正確に何を探すべきかわかりません。

編集:どうやらログオンスクリプトmustログオンしたユーザーとして実行されるため、ユーザーが持っている(または持っていない)アクセス許可を継承します。スクリプトをコンピューター側で実行して、システムアカウントを使用するため、エンドユーザーがローカル管理者権限を持たなくても機能するかどうかを確認します。

2
KidACrimson

スケジュールされたタスクを実行するアカウントとしてシステムを使用して、グループポリシーを介して展開されたスケジュールされたタスクとして実行することができました。

_Computer Configuration > Preferences > Control Panel Settings > Scheduled Tasks_の下に新しいスケジュールされたタスクを作成し、Scheduled Task (Windows Vista and Later)タスクタイプを選択します。

Task type

Task location

アカウントを_NT AUTHORITY/System_に設定し、_run with highest privileges_に設定します。 Task privilage

_at log on_の_any user_をトリガーするように設定: ![Task trigger

actionの下の_Start a program_を選択し、プログラム/スクリプトとして_Powershell.exe_を設定し、引数としてスクリプトへのパスを設定します。 Task action

他のすべてのタブは変更しないでください。

ユーザーがログインすると、PowerShellウィンドウが表示され、lusrmgr.mscを確認すると、指定されたグループのユーザーが表示されます。 User added to the group

1
Davidw