2013-04-11 6 views
0

Я создаю сценарий PowerShell, который позволит перемещать определенные локальные файлы на определенный сервер. Чтобы облегчить процесс, я хочу проверить, имеет ли пользователь доступ к серверу или нет, а если нет, я хочу запросить имя пользователя/пароль.Удаленное местоположение: нет доступа или нет/отключено?

Использование Test-Path Я могу проверить, может ли пользователь получить доступ к конкретному удаленному местоположению. Однако, если Test-Path терпит неудачу, нет способа узнать, связано ли это с тем, что удаленное местоположение не существует или потому что у пользователя нет достаточных прав.

Я ищу способ:

  • Узнайте, если пользователь имеет доступ к удаленному адресу (можно использовать Test-Path для этого)
  • (, если выше не удалось) Найти , если это происходит потому, что удаленный компьютер недоступен или потому, что пользователь не имеет достаточных прав
  • (в зависимости от выше) Показать сообщение об ошибке или запрос учетных

Конечно, я мог бы Test-Path, попросить учетные данные, если необходимо, а затем Test-Path еще раз. Но я пытаюсь найти более приятное решение.

+1

Я предполагаю, что когда вы говорите о удаленном месте, вы говорите о пути на сервере, а не о самом сервере, поэтому Test-Connection не будет работать? –

+0

Хммм, я мог бы хотя бы использовать Test-Connection для проверки наличия и доступности сервера. Я думаю, что могу работать с этим, спасибо. – Deruijter

ответ

0

Вы можете использовать Test-Connection, чтобы узнать, существует ли сервер. Это не надежный способ, потому что не все серверы и другие устройства, которые могут находиться в сетевом пути, отвечают на запросы ICMP, что и используется Test-Connection и ping.

+0

Сначала я использовал 'Test-Connection', чтобы проверить, доступен ли сервер. Затем последовал «Test-Path», предполагая, что путь на сервере существует, я также предполагаю, что если это не удается, это из-за недостаточных привилегий. – Deruijter