ログイン スクリプトで必要なことを実行する方法は私が知っている方法ではありませんが、PsExecを使用してワークステーションから一度に実行できます。これは私が使用するコマンドです。
psexec -c -f -s -h /accepteula \\* "c:\path\to\your\batfile.bat"
これにより、システム アカウントを使用してドメイン上のすべてのコンピューターに対して実行され、実行前にバッチ ファイルが各コンピューターにコピーされます。私のように、大きなドメインを持っていて、特定の OU に対してのみ実行したい場合は、そのために私が書いたスクリプトを次に示します。
@echo off
setlocal enabledelayedexpansion
:: User Defined Variables
set FilterOU=TRUE
set OU=Environmental
if %FilterOU%==TRUE (
set qComp=wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer Where "ds_distinguishedname like '%%%OU%%%'" get ds_name
) ELSE (
set qComp=wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer get ds_name
)
Echo.
Echo Getting list of computers.
Echo.
for /f "skip=1" %%c in ('%qComp%') do (
For /f %%d in ("%%c") do (
ping -n 1 %%d | find "TTL=">nul && set r="up"||set r="down"
if /i !r!=="up" (
psexec -c -f -s -h /accepteula \\%%d "C:\scripts\yourbatchfile.bat"
)
)
)
exit /b