Назад | Перейти на главную страницу

Как я могу использовать PowerShell, чтобы проверить, открыт / подключен ли подключенный диск?

Я пишу сценарий входа в систему, который отключает отображение и переназначает некоторые диски.

Powershell вызывает небольшой пакетный файл для фактического отключения сопоставления, поскольку Powershell кажется немного нестабильным при надежном сопоставлении дисков.

Я использую следующий код:

    $arrDrives = "m:","n:","o:","p:","q:","r:","s:","u:","v:","x:","y:"
    foreach ($drive in $arrDrives) { 
        if (test-path $drive) {
            UpdateSubHeading ("Removing drive " + $drive)
            c:\bin\removeDrive.bat $drive } 
    }

И командный файл, который он вызывает, просто:

if exist %1 net use %1 /del

Все это работает нормально, если нет открытого подключения к диску, который он пытается отключить. Если у пользователя открыт файл, то он зависает.

Есть ли способ проверить, есть ли открытые подключения к подключенному диску, прежде чем я попытаюсь отключить его и пропустить отключение, если оно есть?

Спасибо,

Бен

Сценарий, вероятно, ожидает разрешения на удаление соединения

например

M:\>net use m: /delete
There are open files and/or incomplete directory searched pending on the connection to m:.

Is it OK to continue disconnection and force them closed (Y/N) [N]:

Вам необходимо предоставить разрешение в командной строке

например

M:\>net use m: /delete /yes
There are open files and/or incomplete directory searched pending on the connection to m:.

m: was deleted successfully

или в вашем случае

if exist %1 net use %1 /del /yes