Проверьте наличие удаленного файла на нескольких серверах Windows
Мне нужно проверить состояние файла (существующий? Или дата последнего изменения) на нескольких удаленных серверах Windows (в локальной сети). Файлы доступны по UNC-пути. Удаленным ПК нужны имя пользователя и пароль. Лучше всего быть какой-то сценарий.
Я не являюсь системным администратором, но мой начальник попросил сделать это, потому что каждый из этих компьютеров является хостом SQL Server, а файл является резервной копией базы данных. Я разработчик базы данных SQL Server. Я пытался сделать это с помощью T-SQL, но просто обнаружил, что он не предназначен для этого (хотя, возможно, выполнимо).
1 ответ
Создайте командный файл как (скажем check.bat
):
@echo off
set list=server1 server2 server3 server4 serverN
for %%s in (%list%) do (
echo Logging in to %%s
net use \\%%s\shared /user:mydomain\myuser password
echo Checking file existence on %%s
if exist \\%%s\shared\file.txt (
echo File exist on %%s
) else (
echo File does NOT exist on %%s
)
echo Logging out
net use \\%%s\shared /delete
)
Подробнее о net use
Команды, см. принятый ответ на вопрос. Сопоставление сетевого диска без жесткого кодирования буквы диска в командном файле.