Проверьте наличие удаленного файла на нескольких серверах 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 Команды, см. принятый ответ на вопрос. Сопоставление сетевого диска без жесткого кодирования буквы диска в командном файле.

Другие вопросы по тегам