1

そこからファイアウォール ルールを展開するためのグループ ポリシーがインストールされていないので、当面はバッチ ファイルを実行してファイアウォールを更新し、Spiceworks が自分のマシンでエラーなしでスキャンを実行できるようにしたいと考えています。インバウンド ルールを変更するためのバッチ ファイルはありますが、すべてのコンピューターで個別に実行することはできず、時間効率が悪くなります。では、管理者パスワードをユーザーに知らされることなく、ネットワーク経由でこのバッチ ファイルを管理者として実行するにはどうすればよいでしょうか。一部のマシンでは XP を実行し、他のマシンでは 7 を実行しています。

私はプログラミングが初めてなので、この質問を編集するために最善を尽くしました

4

1 に答える 1

2

ログイン スクリプトで必要なことを実行する方法は私が知っている方法ではありませんが、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
于 2013-06-03T18:42:31.860 に答える