Самый простой способ - если вы не строго обязаны использовать WMI, вы можете сделать это с помощью psexec:
PsExec.exe \\<computer> cmd /c "rmdir /s /q %windir%\temp\"
или, если вы не вошли в систему с учетной записью администратора домена или глобальной учетной записи администратора рабочих станций.-
PsExec.exe -u <user> -p <password> \\<computer> cmd /c "rmdir /s /q %windir%\temp\"
Если не следует полностью удалять папку, поскольку Windows сохраняет некоторые файлы открытыми и заблокированными внутри нее, но все, что не доступно только для чтения или заблокировано, будет удалено, как файлы, так и папки.
Затем, чтобы сделать это со списком компьютеров, просто используйте cmd-файл, подобный этому (list.txt содержит только имена компьютеров / ips, без \:
for /F %%s in (list.txt) do (
echo %%s
start "" /min PsExec.exe \\%%s cmd /c "rmdir /s /q %windir%\temp\"
)
Команда запуска заставляет все процессы psexec работать впараллельный и свернутый, поэтому вам не нужно ждать завершения работы каждого компьютера перед запуском другого
psexec.exe является частью пакета sysinternals от M. Russinovich, я хотел бы оставить прямую ссылку, но неНе знаю, разрешено это или нет. Я думаю, что он должен иметь возможность подключаться к удаленным ПК, если у вас есть доступ к общим папкам и удаленному управлению компьютером (и, конечно, права администратора)