web-dev-qa-db-ja.com

サーバー2012GPO:コンピューターの起動時にPowerShellスクリプトが実行されていない

AmazonEC2にServer2012インスタンスがいくつかあり、GPOをセットアップ中です。コンピューターの起動時に指定されたPowerShellスクリプトが実際に実行されていないことを除いて、GPOのすべての設定が正常に適用されています。スクリプトは、認証されたユーザーが完全なアクセス許可で適用されているUNC共有上にあります。おそらく実行ポリシーと関係があると思いますが、自動的にバイパスする方法がわかりません。私couldは、各インスタンスに移動して実行ポリシーをバイパスするだけですが、それは明らかに良い考えではありません。さらに、最終的にはWindows7コンピューターに接続します。同じスクリプトを実行します。

スクリプトを実際に実行するにはどうすればよいですか?グーグル検索はそれほど多くを生み出していません...

現在の権限

共有-認証されたユーザー(フル)

NTFS-全員(フル);クリエーターオーナー(スペシャル);システム(フル)

2
Gup3rSuR4c

返信が遅れますが、ログオンスクリプトを遅らせるための問題はおそらく2012年のデフォルトです。次の場所で低い設定を試してください。

Computer Configuration\Policies\Administrative Templates\System\Group Policy\Configure Logon Script Delay

2
Tohuw

それがコンピュータポリシーである場合、認証されたユーザーはあなたが望むものではありません。 Domain Computersに読み取りアクセスを許可する必要があります。

1
MDMarra

Windows共有からリモートで実行されるPowerShellスクリプトはインターネットの一部と見なされるため、いくつかのオプションがあります。

  • 実行ポリシーはリモート署名する必要があり、スクリプトに署名する必要があります。
  • 実行ポリシーは無制限である必要があります。
  • スクリプトをローカルにコピーします。実行ポリシーがリモート署名または無制限の場合は、その時点でスクリプトを実行できます。
  • Powershell.exeを呼び出すときは、Unrestrictedの値で-ExecutionPolicyパラメーターを使用します
1
splattered bits

代わりに、GPOファイルを使用してファイルを保存できます。スクリプトを入力すると、[ファイルを表示]ボタンが表示されます。クリックすると、スクリプトが保存されているフォルダーが表示されます。そのフォルダに入ると、「追加」をクリックしてファイルを選択するだけです。

それ以外の場合は、読み取りアクセス権を使用してDomain Computersを追加できます。これは、コンピューターがユーザーではなく、起動時に共有に対して認証されるためです。

0
HostBits

私は同じ問題に遭遇しました。\domain.local\netlogonフォルダーからスクリプトを実行しようとすると、実行ポリシーでリモートスクリプトの実行が許可されていないというエラーが表示されます。私は走ったget-executionpolicyそしてそれは「制限付き」に設定されています。私は走ったset-executionpolicy remotesignedしかし、デジタル署名されていないため、それは役に立ちませんでした。

私は走ったget-help about_signingそして、CAからのデジタル証明書または自己署名証明書を使用してスクリプトに署名する必要があることを示しています。 Windows7のPowerShellログオンスクリプトを作成するためだけに多くの作業が必要です。ただし、Powershellの上位バージョン(Server 2012 R2、Windows 7 with PS5)を搭載したシステムでは問題なく動作します。ここで、WSUSを使用せずに各ワークステーションにWMF5.0をインストールする方法を理解するか、それを吸い上げて愚かなスクリプトに署名する必要があります。

ビルゲイツありがとう...

0

これは古いトピックですが、答えはおそらく、GPOのスタートアッププロパティのPowerShellスクリプトのファイル名やパスにスペースが含まれていることです。修正するには、GPOのスタートアッププロパティで実行されていないPowerShellスクリプト名のフルパスを二重引用符で囲みます。

前のスタートアップ「スクリプト名」:\\ SERVERNAME\Scripts\Install KBs\Install KBs.ps1これは、GPResultsに最後の実行がないことを示しています。 EventLogは、ErrorCode 0 ScriptElaspedTimeInSeconds 0を表示するのに役立ちません。ただし、HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startup \#\#のレジストリでは、#は数字で、実際のErrorCode0xfffd0000(4294770688)。これは、スクリプトが見つからないためです-スペースが原因です。

起動後の「スクリプト名」:"\\ SERVERNAME\Scripts\Install KBs\Install KBs.ps1" GPResultsで、スクリプトの最後の実行で実行されたことが示されます。上記のキーのレジストリには、ErrorCode 0x0が表示されますが、これは正常です。

この解決および修正されたソリューションは、Windows 7Enterpriseでテストされています。アクセス許可を変更する必要はありませんでしたが、コンピューターオブジェクトがPowerShellスクリプトを読み取ることができる読み取りアクセス許可を持つ認証済みユーザーが存在しました。

0
Noral Kuhlmann

私はあきらめています...私はこれを機能させるのにそれほど馬鹿になることはできません。最後に試したのは、バッチファイルからPowerShellスクリプトを呼び出すことでした。それでもヒットまたはミス(ほとんどの場合ミス)のようです...

私はこれで終わりです。私が言ったように、私が巨大な馬鹿であるか、マイクロソフトが独自の機能を正しく実装していないかのどちらかです...

0
Gup3rSuR4c