Я пытаюсь закрыть все открытые файлы в общих папках сервера с помощью сценария PowerShell. Я нашел следующий сценарий, который закрывает файлы только на одном диске (F :), однако на этом сервере есть 3 диска (F: \, G: \, H :), которые я хочу закрыть все.
net files |
where { $_.Contains( "F:\" ) } |
foreach { $_.Split( ' ' )[0] } |
foreach { net file $_ /close }
Есть ли способ добавить недостающие диски в этот скрипт или мне придется использовать один и тот же скрипт отдельно для каждого диска?
Я попытался { $_.Contains( "F:\", "G:\", "H:\" ) }
но не сработало
Спасибо за помощь!
Используемая вами команда не является собственной командой PowerShell. Однако PowerShell имеет множество функций для управления SMB-соединениями и общими ресурсами.
То, что вы ищете, может быть таким:
Get-SMBOpenFile | Close-SMBOpenFile -Force
Это закроет все файлы, открытые через общие файловые ресурсы. Вы также можете управлять SMB-соединениями (Get-SMBConnection) и другими вещами. С участием Get-Command *smb*
вы получите список всех команд, связанных с SMB.