Тайм-аут с системным поиском - PullRequest
0 голосов
/ 30 апреля 2018

Я запускаю короткий скрипт для удаления пары локальных файлов из списка систем в текстовом файле. Проблема заключается в том, что при запуске сценария, если система не работает в сети, сценарий зависает на что-то вечное. Есть ли способ сократить время запроса, чтобы скрипт мог пропустить неактивную систему и перейти к следующей строке?

function delete-remotefile {
PROCESS {
            $file = "\\$_\c$\Windows\folderx\filename.txt"
            if (test-path $file)
            {
            echo "$_ filename.txt exists"
            Remove-Item $file -force
            echo "$_ filename.txt file deleted"
            }
            $file = "\\$_\c$\Windows\folderx\filename2.txt"
            if (test-path $file)
            {
            echo "$_ filename2.txt exists"
            Remove-Item $file -force
            echo "$_ filename2.txt file deleted"
            }
        }
}

Get-Content  C:\Users\username\Desktop\systems.txt | delete-remotefile

pause

1 Ответ

0 голосов
/ 30 апреля 2018

Чтобы избежать выполнения в системах, которые недоступны, просто введите команду в Test-Connection. Это будет выполняться, только если система доступна.

Ex:

function delete-remotefile {
PROCESS {

            if(Test-Connection $_)
            {
                $file = "\\$_\c$\Windows\folderx\filename.txt"
                if (test-path $file)
                {
                echo "$_ filename.txt exists"
                Remove-Item $file -force
                echo "$_ filename.txt file deleted"
                }
                $file = "\\$_\c$\Windows\folderx\filename2.txt"
                if (test-path $file)
                {
                echo "$_ filename2.txt exists"
                Remove-Item $file -force
                echo "$_ filename2.txt file deleted"
                }
            }
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...