Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как удалить файл из сетевого ресурса


Файл Thumbs.db: принудительное удаление в сетевых папках

Читатель обнаружил одну интересную особенность работы проводника Explorer в Windows 7 с сетевыми каталогами на файловом сервере. Проблема заключалась в том, что сразу после копирования/ перемещения каталога в сетевой папке, система отказывалась удалять или переименовывать его. Переименовать/удалить такой каталог можно только через некоторое время (1-5 минут).

При попытке удалить такой сетевой каталог появляется ошибка:

The action can’t be completed because the folder or a file in it is open in another program. Close the file or folder and try again.

Папка уже используется.
Операция не может быть завершена, поскольку эти папка или файл открыты в другой программе. Закройте папку или файл и повторите попытку.

Как оказалась загвоздка была связана с наличием файла Thumbs.db  —  файла с эскизами изображений. Операционная система Windows еще со времен Windows XP может создавать кэш с эскизами изображений (и других типов файлов) и хранить его в скрытом файле Thumbs.db каждого каталога. За счет использования кэша достигается сокращение времени на загрузку и отображение файлов эскизов в Проводнике. При отключенном кэше изображений , системе приходится каждый раз загружать файлы изображений и генерировать для них миниатюры, что затратно по ресурсам (особенно для папок с большим количеством изображений).

Но как, оказалось есть ситуации (KB2025703  — Renaming a network folder in Windows 7 Explorer fails with «the action can’t be completed…»), когда наличие файла thumbs.db с кэшем миниатюр мешает удалению или переименования каталогов из Проводника Windows.

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

В этом случае можно отключить автоматическую генерацию файла thumbs.db. на сетевых папках и дисках.

Отключаем создание файла Thumbs.db в сетевых папках с помощью GPO

Чтобы Windows Explorer при просмотре каталогов не создавал скрытый файл с кэшем эскизов изображений Thumbs.db, можно воспользоваться параметрами групповых политик.

Интересующие нас политики находятся в разделе редактора GPO:

  • В Windows 7 (Vista ) нужные политики находятся в разделе — User Configuration -> Administrative Templates -> Windows Components -> Windows Explorer.
  • В Windows 8 / Windows 10 – User Configuration -> Administrative Templates -> Windows Components -> File Explorer

Найдите и включите (переведите в Enable) следующие политики:

  • Turn off the display of thumbnails and only display icons on network folders
  • Turn off caching of thumbnails in hidden thumbs.db files
  • Turn off the display of thumbnails and only display icons

В первую очередь нас интересует 1 политика, которая запрещает Проводнику создавать thumbs.db в сетевых каталогах.

Осталось назначить политику на пользователей и обновить ее на компьютерах (gpupdate /force)

Отключение создания Thumbs.db в сетевых папках через реестр

На домашних редакциях  Windows, в которых отсутствует редактор групповой политики, отключить создание скрытых файлов thumbs.db можно через редактор реестра (regedit.exe).

Для этого в разделе HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\ создать подраздел Explorer (в Windows 7 он уже имеется), в котором создать ключ типа REG_DWORD  с именем DisableThumbsDBOnNetworkFolders и значением 1

Эту же операцию можно выполнить одной командой:

reg add "HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer" /v DisableThumbsDBOnNetworkFolders /d 0x1 /t REG_DWORD /f

Как удалить файлы Thumbs.db во всех каталогах

Существующие файлы Thumbs.db не удаляются автоматически после включения политики. Можно рекурсивно удалить все файлы Thumbs.db на определенном диске или в каталоге сервера с помощью PowerShell.

Перейдем в нужный каталог:

cd c:\share
Получим список всех  Thumbs.db
Get-ChildItem -Path . -Include Thumbs.db -Recurse -Name -Force | Remove-Item –Force –WhatIF

Удалим найденные файлы
Get-ChildItem -Path . -Include Thumbs.db -Recurse -Name -Force | Remove-Item –Force

Аудит удаления и доступа к файлам и запись событий в лог-файл средствами Powershell


Я думаю, многие сталкивались с задачей, когда к Вам приходят и спрашивают: «У нас тут файл пропал на общем ресурсе, был и не стало, похоже кто-то удалил, Вы можете проверить кто это сделал?» В лучшем случае вы говорите, что у вас нет времени, в худшем пытаетесь найти в логах упоминание данного файла. А уж когда включен файловый аудит на файловом сервере, логи там, мягко говоря «ну очень большие», и найти что-то там — нереально.
Вот и я, после очередного такого вопроса (ладно бекапы делаются несколько раз в день) и моего ответа, что: «Я не знаю кто это сделал, но файл я Вам восстановлю», решил, что меня это в корне не устраивает…

Начнем.

Для начала включим к групповых политиках возможность аудита доступа к файлам и папкам.
Локальные политики безопасности->Конфигурация расширенной политики безопасности->Доступ к объектам
Включим «Аудит файловой системы» на успех и отказ.
После этого на необходимые нам папки необходимо настроить аудит.
Проходим в свойства папки общего доступа на файловом сервере, переходим в закладку «Безопасность», жмем «Дополнительно», переходим в закладку «Аудит», жмем «Изменить» и «Добавить». Выбираем пользователей для которых вести аудит. Рекомендую выбрать «Все», иначе бессмысленно. Уровень применения «Для этой папки и ее подпапок и файлов».
Выбираем действия над которыми мы хотим вести аудит. Я выбрал «Создание файлов/дозапись данных» Успех/Отказ, «Создание папок/дозапись данных» Успех/отказ, Удаление подпапок и файлов и просто удаление, так же на Успех/Отказ.
Жмем ОК. Ждем применения политик аудита на все файлы. После этого в журнале событий безопасности, будет появляться очень много событий доступа к файлам и папкам. Количество событий прямопропорционально зависит от количества работающих пользователей с общим ресурсом, и, конечно же, от активности использования.

Итак, данные мы уже имеем в логах, остается только их оттуда вытащить, и только те, которые нас интересуют, без лишней «воды». После этого акурратно построчно занесем наши данные в текстовый файл разделяя данные симовлами табуляции, чтобы в дальнейшем, к примеру, открыть их табличным редактором.

#Задаем период, в течении которого мы будем запускать один раз скрипт, и искать нужные нам события. Здесь период задан - 1 час. Т.е. проверяются все события за последний час. $time = (get-date) - (new-timespan -min 60) #$BodyL - переменная для записи в лог-файл $BodyL = "" #$Body - переменная, в которую записываются ВСЕ события с нужным ID. $Body = Get-WinEvent -FilterHashtable @{LogName="Security";ID=4663;StartTime=$Time}|where{ ([xml]$_.ToXml()).Event.EventData.Data |where {$_.name -eq "ObjectName"}|where {($_.'#text') -notmatch ".*tmp"} |where {($_.'#text') -notmatch ".*~lock*"}|where {($_.'#text') -notmatch ".*~$*"}} |select TimeCreated, @{n="Файл_";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "ObjectName"} | %{$_.'#text'}}},@{n="Пользователь_";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "SubjectUserName"} | %{$_.'#text'}}} |sort TimeCreated #Далее в цикле проверяем содержит ли событие определенное слово (к примеру название шары, например: Secret) foreach ($bod in $body){ if ($Body -match ".*Secret*"){ #Если содержит, то пишем в переменную $BodyL данные в первую строчку: время, полный путь файла, имя пользователя. И #в конце строчки переводим каретку на новую строчку, чтобы писать следующую строчку с данными о новом файле. И так #до тех пор, пока переменная $BodyL не будет содержать в себе все данные о доступах к файлам пользователей. $BodyL=$BodyL+$Bod.TimeCreated+"`t"+$Bod.Файл_+"`t"+$Bod.Пользователь_+"`n" } } #Т.к. записей может быть очень много (в зависимости от активности использования общего ресурса), то лучше разбить лог #на дни. Каждый день - новый лог. Имя лога состоит из Названия AccessFile и даты: день, месяц, год. $Day = $time.day $Month = $Time.Month $Year = $Time.Year $name = "AccessFile-"+$Day+"-"+$Month+"-"+$Year+".txt" $Outfile = "\serverServerLogFilesAccessFileLog"+$name #Пишем нашу переменную со всеми данными за последний час в лог-файл. $BodyL | out-file $Outfile -append 
А теперь очень интересный скрипт.

Скрипт пишет лог об удаленных файлах.

#Переменная $Time тут имеет такое же назначение как в предыдущем скрипте. $time = (get-date) - (new-timespan -min 60) #$Events - содержит время и порядковый номер записи евента с ID=4660. И сортируем по порядковому номеру. #!!!!Это важное замечание!!! При удалении файла создается сразу 2 записи, с ID=4660 и ID=4663. $Events = Get-WinEvent -FilterHashtable @{LogName="Security";ID=4660;StartTime=$time} | Select TimeCreated,@{n="Запись";e={([xml]$_.ToXml()).Event.System.EventRecordID}} |sort Запись #Самые важные команды поиска. Опишу принцип ниже, после листинга скрипта. $BodyL = "" $TimeSpan = new-TimeSpan -sec 1 foreach($event in $events){ $PrevEvent = $Event.Запись $PrevEvent = $PrevEvent - 1 $TimeEvent = $Event.TimeCreated $TimeEventEnd = $TimeEvent+$TimeSpan $TimeEventStart = $TimeEvent- (new-timespan -sec 1) $Body = Get-WinEvent -FilterHashtable @{LogName="Security";ID=4663;StartTime=$TimeEventStart;EndTime=$TimeEventEnd} |where {([xml]$_.ToXml()).Event.System.EventRecordID -match "$PrevEvent"}|where{ ([xml]$_.ToXml()).Event.EventData.Data |where {$_.name -eq "ObjectName"}|where {($_.'#text') -notmatch ".*tmp"} |where {($_.'#text') -notmatch ".*~lock*"}|where {($_.'#text') -notmatch ".*~$*"}} |select TimeCreated, @{n="Файл_";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "ObjectName"} | %{$_.'#text'}}},@{n="Пользователь_";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "SubjectUserName"} | %{$_.'#text'}}} if ($Body -match ".*Secret*"){ $BodyL=$BodyL+$Body.TimeCreated+"`t"+$Body.Файл_+"`t"+$Body.Пользователь_+"`n" } } $Month = $Time.Month $Year = $Time.Year $name = "DeletedFiles-"+$Month+"-"+$Year+".txt" $Outfile = "\serverServerLogFilesDeletedFilesLog"+$name $BodyL | out-file $Outfile -append 

Как оказалось при удалении файлов и удалении дескрипторов создается одно и тоже событие в логе, под ID=4663. При этом в теле сообщения могут быть разные значения «Операции доступа»: Запись данных (или добавление файла), DELETE и т.д.
Конечно же нас интересует операция DELETE. Но и это еще не все. Самое интересное, то что, при обычном переименовании файла создается 2 события с ID 4663, первое с Операцией доступа: DELETE, а второе с операцией: Запись данных (или добавление файла). Значит если просто отбирать 4663 то мы будем иметь очень много недостоверной информации: куда попадут файлы и удаленные и просто переименованные.
Однако мной было замечено, что при явном удалении файла создается еще одно событие с ID 4660, в котором, если внимательно изучить тело сообщения, содержится имя пользователя и еще много всякой служебной информации, но нет имени файла. Зато есть код дескриптора.

Однако предшествующим данному событию было событие с ID 4663. Где как раз таки и указывается и имя файла, и имя пользователя и время, и операция как не странно там DELETE. И самое главное там имеется номер дескриптора, который соответствует номеру дескриптора из события выше (4660, помните? которое создается при явном удалении файла). Значит теперь, чтобы точно знать какие файлы удалены, необходимо просто найти все события с ID 4660, а так же предшествующие каждому этому событию, событие с кодом 4663, в котором будет содержаться номер нужного дескриптора.

Эти 2 события генерируются одновременно при удалении файла, но записываются последовательно, сначала 4663, потом 4660. При этом их порядковые номера различаются на один. У 4660 порядковый номер на единицу больше чем у 4663.
Именно по этому свойству и ищется нужное событие.

Т.е. берутся все события с ID 4660. У них берется 2 свойства, время создания и порядковый номер.
Далее в цикле по одному берется каждое событие 4660. Выбирается его свойства, время и порядковый номер.
Далее в переменную $PrevEvent заносится номер нужного нам события, где содержится нужная информация об удаленном файле. А так же определяются временные рамки в которых необходимо искать данное событие с определенным порядковым номером (с тем самым который мы занесли в $PrevEvent). Т.к. событие генерируется практически одновременно, то поиск сократим до 2х секунд: + — 1 секунда.
(Да, именно +1 сек и -1 сек, почему именно так, не могу сказать, было выявлено экспериментально, если не прибавлять секунду, то некоторые может не найти, возможно связано с тем, что возможно два эти события могут создаваться один раньше другой позже и наоборот).
Сразу оговорюсь, что искать только по порядковому номеру по всем событиям в течении часа — очень долго, т.к. порядковый номер находиться в теле события, и чтобы его определить, нужно пропарсить каждое событие — это очень долго. Именно поэтому необходим такой маленький период в 2 секунда (+-1сек от события 4660, помните?).
Именно в этом временном промежутке ищется событие с необходимым порядковым номером.
После того как оно найдено, работают фильтры:

|where{ ([xml]$_.ToXml()).Event.EventData.Data |where {$_.name -eq "ObjectName"}|where {($_.'#text') -notmatch ".*tmp"} |where {($_.'#text') -notmatch ".*~lock*"}|where {($_.'#text') -notmatch ".*~$*"}} 

Т.е. не записываем информацию об удаленных временных файлах (.*tmp), файлах блокировок документов MS Office (.*lock), и временных файлах MS Office (.*~$*)
Таким же образом берем необходимые поля из этого события, и пишем их в переменную $BodyL.
После нахождения всех событий, пишем $BodyL в текстовый файл лога.

Для лога удаленных файлов я использую схему: один файл на один месяц с именем содержащим номер месяца и год). Т.к. удаленных файлов в разы меньше чем файлов к которым был доступ.

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

Рекомендации

Вам придется самим определить время в течении которого вы будете искать нужные события. Чем больше период, тем дольше ищет. Все зависит от производительности сервера. Если слабенький — то начните с 10 минут. Посмотрите, как быстро отработает. Если дольше 10 минут, то либо увеличьте еще, вдруг поможет, либо наоборот уменьшите период до 5 минут.

После того как определите период времени. Поместите данный скрипт в планировщик задач и укажите, что выполнять данный скрипт необходимо каждые 5,10,60 минут (в зависимости какой период вы указали в скрипте). У меня указано каждый 60 минут. $time = (get-date) — (new-timespan -min 60).

PS

У меня оба эти скрипта работают для сетевого ресурса в 100Гб, на котором ежедневно активно работают в среднем 50 пользователей.
Время поиска удаленных файлов за час — 10-15 минут.
Время поиска всех файлов, к которым был доступ — от 3 до 10 минут. В зависимости от нагрузки на сервер.

Сетевая папка и thumbs.db: как удалить

В Windows 10 thumbs.db — это скрытые файлы, которые создаются при использовании предварительного просмотра миниатюр для папок в проводнике.

Хотя эти файлы безвредны, иногда они могут вызвать проблемы. Например, если вы переместили содержимое с устройства Windows 10 в общую сетевую папку, а затем хотите удалить папку, и в результате вы получили сообщение «Невозможно выполнить действие, так как файл открыт в проводнике Windows» ссылаясь на файл «thumbs.db», который не позволит вам удалить папку.

В этом руководстве вы узнаете, как удалить файлы thumbs.db для удаления сетевых папок с помощью проводника в Windows 10.

Как удалить сетевую папку с thumbs.db с помощью проводника

Удалить папки с файлом thumbs.db:

  1. Откройте проводник.
  2. Перейдите к папке, которую вы хотите удалить.
  3. Нажмите на вкладку «Просмотр».
  4. Отметьте опцию Скрытые предметы.
  5. В разделе «Макет» выберите опцию «Подробности».
  6. Выберите файл thumbs.db.
  7. Нажмите кнопку «Удалить» на вкладке «Вид».
  8. Нажмите кнопку Да.

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

Как удалить сетевую папку с помощью thumbs.db, отключив предварительное кеширование

В случае, если thumbs.db отказывается от удаления, вы можете попробовать отключить функцию предв

Нужный файл находится на сетевом ресурсе, который сейчас недоступен

Удаление программ из ОС Windows — это стандартная процедура освобождения места на жестком диске компьютера. Пользователи избавляются от уже ненужных программ в компьютере, тем самым облегчая работу всей системы. Но не всегда этот процесс проходит гладко. В некоторых случаях появляется ошибка — «Нужный файл находится на сетевом ресурсе, который сейчас недоступен».

Причины появление дисфункции при деинсталляции программ

Зачастую ошибка появляется в том случае, когда пользователи не скачивают установочный пакет программы или игры, а используют онлайн установку. Такой способ имеет как преимущества, так и недостатки. При установке по сети в любой момент может произойти сбой и установку придется начать заново. Известные примеры установки по сети — популярные онлайн игры: World of Tanks, CS:GO и др. Загрузка нужных компонентов и их установка происходит одним процессом. Но здесь есть модуль, который возобновляет установку даже после разрыва соединения.

Узнайте, как решить: защите ресурсов Windows не удается запустить службу восстановления — https://lifehacki.ru/zashhite-resursov-windows-ne-udaetsya-zapustit-sluzhbu-vosstanovleniya-reshenie/.

Когда мы удаляем такое ПО без подключения к интернету, можно видеть сообщение о том, что нужный файл находится на удаленном сервере. Эта ошибка может появляться в результате повреждения записей реестра Windows. Иногда она возникает в случае незавершенного процесса установки приложения. Если установка производилась с установочного CD- или DVD-диска, вставьте его снова в привод и завершите установку. Или попытайтесь любым способом подключиться к интернету (если установка совершалась по сети). После этого снова попробуйте удалить.

Читайте также: что за папка $WINDOWS.~BT?

Как избавиться от ошибки при отсутствии нужного файла

Для начала попробуйте очистить временные папки Windows. Временные файлы могут стать причиной ошибки с удалением программ.

  1. Одновременно на клавиатуре нажмите 2 клавиши — WIN+R;
  2. В окне «Выполнить» введите такую команду «%TEMP%» и нажмите клавишу ввода. Регистр букв в названии папки значения не имеет, вы можете вводить большими или маленькими буквами;

    Открытие папки с временными файлами

  3. Удалите все файлы в этой папке. Чтобы не удалять каждый из них (их может быть очень много), нажмите CTRL+A, чтобы выделить всё и нажмите клавишу DELETE.

Закройте папки. Если вы используете Windows 7 или более раннюю версию:

  1. Нажмите WIN+R и введите «msconfig». Нажмите клавишу ENTER;
  2. Мышью выберите вкладку «Автозагрузки»;
  3. Отключите приложение, которое вы пытаетесь удалить, а также с других программ, не являющихся важными для системы и наж.

Если вы используете Windows 8.1 (8) и выше:

  1. Нажмите вместе клавиши CTRL+SHIFT+ESC;
  2. Если вы впервые открываете диспетчер задач, нажмите кнопку «Подробнее»;
  3. Выберите вкладку «Автозагрузки» и проделайте то же, что и в предыдущей инструкции.

    Вкладка «Автозагрузки» в Диспетчере задач Windows

Теперь попробуйте удалить приложение, с которым у вас возникала ошибка — нужный файл или папка находятся на удаленном ресурсе, он в данный момент недоступен.

Это интересно: значение клавиш F1-F12 на клавиатуре.

Исправляем ошибки при помощи сторонних программ

Если вы по-прежнему видите текст с ошибкой «Нужный файл находится на сетевом ресурсе, который сейчас недоступен», скачайте утилиту по этой ссылке https://technet.microsoft.com/ru-ru/sysinternals/bb963902. Она ведет на программу, которая является альтернативой стандартной утилите «Автозагрузки» в Windows. В ней отображаются все программы, которые участвуют в загрузке ОС. При этом они расположены в таком порядке, в котором система с ними работает. Это достаточно мощный инструмент для администраторов. При желании вы можете подробнее ознакомиться с описанием к утилите Autoruns на странице загрузки.

Рабочее окно утилиты Autoruns

А в нашем случае необходимо только запустить её, выбрать вкладку «Everything» (всё) и найти все пункты, которые помечены желтым. На них нужно убрать галочки. После этого просто перезагрузите компьютер. Все нужные действия утилита сделает с вашим компьютером самостоятельно. После загрузки пакета с утилитой она будет запакована в архиве. Нажмите по архиву ПКМ и выберите «Извлечь все». Устанавливать её не нужно. Если у вас установлена 32-битная Windows, выберите иконку в папке под названием «autoruns». Если x64 — любую.

Устраняем проблему с удалением при помощи утилиты от Microsoft

Использование дополнительных программ которые якобы, улучшают и ускоряют работу компьютера, могут привести к нарушению работы всей системы или отдельных её компонентов. Это всем известные CCleaner, iOBit, и другие менеджеры для чистки жестких дисков. Их использование оправдывается только неопытностью пользователя. Лучше всего очищать и дефрагментировать локальные диски встроенными утилитами ОС. Именно стороннее ПО часто нарушает работу реестра Windows и системных файлов.

Рабочее окно утилиты для устранения неполадок в Windows

Специальный мастер от разработчиков Microsoft может помочь вам устранить проблему с удалением программ. Загрузить её можно по ссылке https://support.microsoft.com/ru-ru/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed. Эта утилита будет работать на всех операционных системах (x32, x64). Она также работает без установки. Просто запустите скачанный файл и действуйте согласно подсказкам, чтобы устранить ошибку — необходимый файл расположен на сайте, который сейчас недоступен.

 

Управление открытыми файлами на файловом сервере Windows (SMB)

Если вы администрируете общие сетевые папки Windows, скорее всего вы периодически сталкиваетесь с просьбами пользователей принудительно закрыть файлы, открытые (заблокированные) в сетевых папках другими пользователями. Обычно это связано с некорректной работой программы, неправильном завершении сессии пользователя или ситуациях, когда пользователь открыл файл и забыл закрыть его (ушел домой, в отпуск и т.д.). Во всех этих случаях файл в сетевой папке оказывается заблокированным, и другие пользователи не могут вносить в него изменения.

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

Вывод списка открытых файлов в сетевой папке Windows

Список открытых по сети файлов в Windows можно получить с помощью стандартной графической консоли Computer Management (Управление компьютером — compmgmt.msc).

Запустите на файловом сервере консоль Computer Management (или подключитесь к нему консолью удаленно со своего компьютера) и перейдите в раздел System Tools -> Shared Folders -> Open files (Служебные программы -> Общие папки -> Открыты файлы). В правой части окна отображается список файлов на сервере, открытых удаленно. В данном списке указан локальный путь к файлу, имя учетной записи пользователя, количество блокировок и режим, в котором открыт файл (Read или Write+Read).

Этот же список открытых файлов можно получит с помощью встроенной консольной утилиты Openfiles. Например, с помощью следующей команды можно получить id сессии, имя пользователя и полный локальный путь к открытому файлу:

Openfiles /Query /fo csv |more

При удаленном доступе пользователя к папке или файлу в сетевой папке (SMB) на сервере, для пользователя создается новая сессия. Вы можете управлять открытыми файлами с помощью идентификаторов этих сессий.

Вы можете вывести список открытых файлов на сервере удаленно. Например, чтобы вывести все открытые по сети файлы на сервере mskfs01, выполните:

Openfiles /Query /s mskfs01 /fo csv

Команда Openfiles позволяет также вывести список локально открытых файлов. Для этого на сервере нужно включить опцию Maintain Objects List (Построение списка объектов) командой openfiles /local on и перезагрузить сервер. После этого команда Openfiles будет отображать файлы, открытые локальными процессами (этот режим желательно использовать только для отладки, т.к. может негативно сказаться на производительности сервера).

Определяем пользователя, который открыл файл в сетевой папке с помощью Openfiles

Чтобы удаленно определить пользователя, который открыл (заблокировал) файл cons.adm в сетевой папке на сервере mskfs01, выполните команду:

Openfiles /Query /s mskfs01 /fo csv | find /i "cons.adm"

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

Можно указать только часть имени файла. Например, чтобы узнать, кто открыл xlsx файл, в имени которого есть строка farm, воспользуйтесь таким конвейером:

Openfiles /Query /s mskfs01 /fo csv | find /i "farm"| find /i "xlsx"

Можно, конечно найти открытый файл и в графической консоли Computer Management, но это менее удобно (в консоли нет возможности поиска).

Как принудительно закрыть открытый файл в Windows?

Чтобы закрыть открытый файл, нужно найти его в списке файлов секции Open Files и в контекстном меню выбрать пункт “Close Open File”.

Если на файловом сервере сотни открытых файлов, найти их в консоли будет непросто. Удобнее воспользоваться утилитой Openfiles. Как мы уже говорили, она возвращает ID сессии открытого файла. Вы можете принудительно закрыть файл и сбросить подключение пользователя по ID SMB сессии. Сначала нужно определить ID сессии открытого файла:

Openfiles /Query /s mskfs01 /fo csv | find /i "farm"| find /i ".xlsx"

Теперь можно принудительно отключить пользователя по полученному идентификатору SMB сессии:

Openfiles /Disconnect /s mskfs01 /ID 67109098


Можно принудительно сбросить все сессии и освободить все файлы, открытые определённым пользователем:
openfiles /disconnect /s mskfs01 /u corp\aivanova /id *

Обратите внимание, что принудительное закрытие файла, открытого клиентом на SMB сервере, вызывает потерю несохраненных данных. Поэтому команду openfiles /disconnect и командлет Close-SMBOpenFile (рассматривается ниже) нужно использовать с осторожностью.

Get-SMBOpenFile: вывод списка открытых по сети файлов в PowerShell

В версии PowerShell в Windows Server 2012/Windows 8 появились командлеты для управления сетевыми файлами и папками на SMB сервере. Эти командлеты можно использовать чтобы удаленно закрыть открытые по сети файлы.

Список открытых файлов можно получить с помощью командлета Get-SMBOpenFile. Чтобы закрыть файл (сбросить подключение), используется Close-SmbOpenFile.

Для вывода полного списка открытых файлов на сервере, выполните команду:

Get-SMBOpenFile

Команда возвращает ID файла, ID сессии и полное имя файла.

Можно вывести список открытых файлов с именами пользователей и компьютеров (IP адресами):

Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID

Можно вывести все файлы, открытые определенным пользователем:

Get-SMBOpenFile –ClientUserName "corp\aaivanov"  |select ClientComputerName,Path

или с определенного компьютера (сервера):

Get-SMBOpenFile –ClientComputerName 192.168.12.170| select ClientUserName,Path

Можно вывести список открытых файлов по шаблону. Например, все открытые по сети exe файлы:

Get-SmbOpenFile | Where-Object {$_.Path -Like "*.exe*"}

или файлы с определенным именем:

Get-SmbOpenFile | Where-Object {$_.Path -Like "*защита*"}

Чтобы закрыть файл используется командлет Close-SmbOpenFile. Закрыть файл можно по ID:

Close-SmbOpenFile -FileId 4123426323239

Но обычно удобнее закрыть файл по имени:

Get-SmbOpenFile | where {$_.Path –like "*prog.xlsx"} | Close-SmbOpenFile -Force

С помощью Out-GridView можно сделать простую графическую форму для поиска и закрытия файлов. Следующий скрипт выведет список открытых файлов. Администратор должен с помощью фильтров в таблице Out-GridView найти, выделить нужные файлы и нажать ОК. В результате выбранные файлы будут принудительно закрыты.

Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID| Out-GridView -PassThru –title “Select Open Files”|Close-SmbOpenFile -Confirm:$false -Verbose

Как удаленно закрыть открытые SMB файлы с помощью PowerShell?

Командлеты Get-SMBOpenFile и Close-SmbOpenFile можно использовать чтобы удаленно найти и закрыть открытые файлы. Сначала нужно подключиться к удаленному SMB серверу Windows через CIM сессию:

$sessn = New-CIMSession –Computername mskfs01

Также вы можете подключаться к удаленному серверам для запуска команд через командлеты PSRemoting: Enter-PSSession или Invoke-Command .

Следующая команда найдет SMB сессию для открытого файла *pubs.docx и завершит ее.

Get-SMBOpenFile -CIMSession $sessn | where {$_.Path –like "*pubs.docx"} | Close-SMBOpenFile -CIMSession $sessn

Подтвердите закрытие файла, нажав Y. В результате вы разблокировали открытый файл. Теперь его могут открыть другие пользователи.

Чтобы убрать подтверждение закрытия файла на сервере, используйте ключ –Force.

С помощью PowerShell вы можете закрыть и разблокировать на файловом сервере все файлы, открытые определенным пользователем (пользователь ушел домой и не освободил файлы). Например, чтобы сбросить все файловые сессии для пользователя ipivanov, выполните:

Get-SMBOpenFile -CIMSession $sessn | where {$_.ClientUserName –like "*ipivanov*"}|Close-SMBOpenFile -CIMSession $sessn

Восстановление удаленных файлов на сетевом диске, а не в корзине

Если сервер не имеет какой-то "сетевой корзины" (например, QNAP NAS), вам не повезло, файл исчез.

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

существует обходной путь, а не 100% Надежный, объяснил здесь:

  1. подключить сетевой диск к сетевой папке, которую вы хотите использовать. Убедитесь, что диск повторно подключен при входе в систему. Если вы не знаете как это сделать, поиск Погуглить.
  2. обзор C:\users\.
  3. щелкните правой кнопкой мыши на одной из папок в этой папке (я выбрал сохраненные игры) и нажмите кнопку Свойства.
  4. выберите вкладку расположение.
  5. Нажмите кнопку Переместить, перейдите в корневой каталог диска вы отображенных в шаге 1, и нажмите Выбрать папку.
  6. Нажмите кнопку ОК и нажмите кнопку Да в появившемся диалоговом окне.
  7. повторите те же действия для всех пользователей компьютера.

теперь вы можете проверить, что сеть диск защищен корзиной щелкнув правой кнопкой мыши на корзину и щелкните свойства. Сеть диск должен быть указан в корзине Столбец расположения ячеек.

некоторые предупреждения: 1. Это только защищает файлы доступны через сетевой диск, и не путями UNC. Так, например, если сопоставление \server\share с z:, и удалить что-то с диска z, это отправится в корзину. Однако, если перейти в папку \server\share и удалить файл, он будет удален непосредственно. 2. Я не знаю, что произойдет, если ваш сетевой диск недоступен, так что будьте осторожны. Это может не работать хорошо с ноутбуки. 3. Какие файлы, которые должны были храниться в папке вы выбираете на Шаге 3 теперь будут храниться подключенный сетевой диск по умолчанию. Этот на самом деле может быть весьма полезной.

будущие цели: я в настоящее время не знаю как добавить эту функциональность дополнительная папка. Насколько я могу скажите, только папки, хранящиеся в C:\users\ вам в этом функциональность. Я все еще изучаю это, но обновит этот пост, если я найти дополнительную информацию.

Это не поможет конечно с файл уже удален. Если у вас есть доступ к серверу, можно попробовать с помощью утилиты восстановления, но мало шансов на успех.

Список / создание / удаление сетевых ресурсов из командной строки

Мы можем использовать команду net share для создания, настройки и удаления сетевых ресурсов из командной строки. Ниже вы можете найти синтаксис и примеры для команды net share.

Создание общего сетевого ресурса из командной строки

Синтаксис для создания общего ресурса следующий.

 сетевой ресурс sharename = путь к папке / грант: имя пользователя, разрешения Sharename: вы можете присвоить имя общему ресурсу, который собираетесь создать имя пользователя: идентификатор входа пользователя, которому вы хотите предоставить общий доступ к папке. разрешение: чтение, изменение или полное 

Например, чтобы предоставить общий доступ к папке E: \ Docs всем в домене и предоставить полные разрешения

 net share Docs = E: \ Documents / grant: all, FULL 

Если вы разрешая доступ к общему ресурсу нескольким пользователям, вы можете ограничить количество пользователей, одновременно получающих доступ к общему ресурсу.Это предотвратит влияние на производительность вашей системы. Приведенная ниже команда установит ограничение до 10 пользователей.

 net share Docs = E: \ Documents / grant: все, FULL / users: 10 

Команда для совместного использования с конкретным пользователем и предоставления прав только на чтение:

 net share Docs = E: \ Documents / grant: имя пользователя , ПРОЧИТАЙТЕ 

Удалить общий сетевой ресурс (т. Е. Чтобы отключить общий доступ к папке) из командной строки

 общий сетевой ресурс имя / удалить 

Например, для удаления общего ресурса, созданного выше, команда будет выглядеть так, как показано ниже.

 net share docs / delete 

В качестве альтернативы мы можем использовать физическое расположение папки также для отключения общего доступа

 net share E: \ Docs / delete 

Список общих ресурсов, созданных на локальном компьютере

 net share 

Удалить общий ресурс на удаленном компьютере

 чистый общий ресурс sharename \\ remotepc / delete 
.

Удалить файл - служба поддержки Office

Лучший способ удалить файлы - использовать проводник Windows.

Удалить файл с помощью проводника

  1. Откройте окно проводника.

    Совет: Быстрый способ попасть в проводник - нажать Клавиша Windows + E .

  2. Найдите файл, который вы хотите удалить.

  3. Выберите файл и нажмите клавишу Delete или щелкните Удалить на вкладке Home ленты.

Совет: Вы также можете выбрать более одного файла для одновременного удаления.Нажмите и удерживайте клавишу CTRL при выборе нескольких файлов для удаления. Чтобы выбрать длинный список файлов, щелкните первый файл в списке, нажмите и удерживайте SHIFT, , затем щелкните последний файл в списке.

Для получения дополнительной информации см .: Удаление файла с помощью проводника

Удаление файла из недавно использованного списка в программе Office

Если вы хотите сохранить файл, но просто удалить его из списка недавно использованных файлов, выполните следующие действия:

  1. Щелкните Файл > Открыть .

  2. Найдите файл, который вы хотите удалить.

  3. Щелкните файл правой кнопкой мыши и выберите Удалить из списка .

Для получения дополнительной информации о настройке списка недавно использованных файлов см .: Настройка списка недавно использованных файлов.

В Office 2010 или Office 2007 вы можете удалять файлы из приложений Office или с помощью проводника Windows.

Удалить файл в программе Office

  1. Щелкните Файл > Откройте в Office 2010 или нажмите кнопку Microsoft Office , а затем щелкните Открыть в Office 2007.

  2. Найдите файл, который вы хотите удалить.

  3. Щелкните файл правой кнопкой мыши, затем в контекстном меню выберите Удалить .

    Совет: Вы также можете выбрать более одного файла для одновременного удаления. Нажмите и удерживайте клавишу CTRL при выборе нескольких файлов для удаления. Чтобы выбрать длинный список файлов, щелкните первый файл в списке, нажмите и удерживайте SHIFT, , затем щелкните последний файл в списке.

Удалить файл с помощью проводника Windows

  1. Откройте проводник Windows.

    Совет: Быстрый способ открыть проводник Windows - нажать Клавиша Windows + E .

  2. Найдите файл, который вы хотите удалить.

  3. Щелкните файл правой кнопкой мыши и выберите в контекстном меню Удалить .

Для получения дополнительной информации см .: Удаление файла с помощью проводника

.

Создание, удаление, копирование, переименование и перемещение файлов

Каждый день системные администраторы должны выполнять различные стандартные операции с многочисленными файлами и папками на своих серверах Windows. Эти задачи часто включают управление данными пользователей на общих ресурсах и правильное ведение резервных копий. Вы можете использовать PowerShell, чтобы сократить объем ручной работы.

Перед тем как начать, убедитесь, что ваша системная политика позволяет запускать сценарии PowerShell, как описано в «Руководстве по созданию сценариев Windows PowerShell для начинающих».”

Просмотр объектов в каталоге

Для просмотра содержимого каталога на файловом сервере Windows используйте командлет Get-ChildItem. Чтобы показать все скрытые файлы, добавьте параметр -Force. Следующая команда показывает все корневые объекты в общей папке:

 Get-ChildItem -Force \\ fs \ Shared 

Если вы хотите также проверить все подпапки и их содержимое, добавьте параметр -Recurse:

 Get-ChildItem -Force \\ fs \ Shared -Recurse 

Чтобы отфильтровать выходные данные, добавьте параметры Filter, Exclude, Include и Path в командлет Get-ChildItem.Для расширенной фильтрации объектов используйте командлет Where-Object. Приведенный ниже сценарий выполняет поиск всех исполняемых файлов в папке IT, которые были изменены после 1 апреля 2018 г .:

 Get-ChildItem -Path \\ fs \ Shared \ IT -Recurse -Include * .exe | Where-Object -FilterScript {($ _. LastWriteTime -gt '2018-04-01')} 

Создание файлов и папок с помощью PowerShell

Для создания новых объектов с помощью Windows PowerShell можно использовать командлет New-Item и указать тип элемента, который вы хотите создать, например каталог, файл или раздел реестра.

Например, эта команда создает папку:

 New-Item -Path '\\ fs \ Shared \ NewFolder' -ItemType Directory 

И эта команда создает пустой файл:

 New-Item -Path '\\ fs \ Shared \ NewFolder \ newfile.txt '-ItemType File 

Создание файлов и запись в них данных

Существует как минимум два встроенных метода для создания файла и записи в него данных. Первый - использовать командлет Out-File:

 $ text = 'Hello World!' | Out-File $ text -FilePath C: \ data \ text.txt 

Чтобы перезаписать существующий файл, используйте параметр переключателя –Force.

Вы также можете создавать файлы с помощью командлета Export-Csv, который экспортирует выходные данные в файл csv, который можно открыть в Excel:

 Get-ADuser -Filter * | Export-Csv -Path C: \ data \ ADusers.csv 

Создание файлов после проверки того, что они еще не существуют

Следующий сценарий проверяет, существует ли уже определенный файл (pc.txt) в конкретной папке; если нет, он создает список всех компьютеров AD и сохраняет его в новый файл с именем pc.txt:

 # создать массив текстовых файлов $ files = Get-ChildItem C: \ data \ *. txt | выберите -expand полное имя # проверяем, существует ли файл внутри массива $ files -match "pc.txt" # если совпадение вернет ключ «True», затем выйдет, если «False», то создать отчет if ($ files -eq 'False') { Get-ADComputer -Filter * | Экспорт-CSV-Путь C: \ data \ pc.txt } else {exit} 

Удаление файлов и папок с помощью PowerShell

Для удаления объектов используйте командлет Remove-Item. Обратите внимание, что при выполнении требуется ваше подтверждение, если объект не пустой.В приведенном ниже примере показано, как удалить ИТ-папку и все вложенные папки и файлы внутри нее:

 Remove-Item -Path '\\ fs \ shared \ it \' Подтвердить Элемент в \\ pdc \ shared \ имеет дочерние элементы, а параметр Recurse не был указано. Если вы продолжите, все дочерние элементы будут удалены вместе с элементом. Ты уверен, что хочешь продолжить? [Y] Да [A] Да для всех [N] Нет [L] Нет для всех [S] Приостановить [?] Справка (по умолчанию "Y"): 

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

 Remove-Item -Path '\\ fs \ shared \ it \ '-Recurse 

Удалить файлы и папки старше X дней

Иногда вам нужно очистить старые файлы из определенного каталога.Вот способ сделать это:

 $ Folder = "C: \ Backups" # удалить файлы старше 30 дней Get-ChildItem $ Папка -Recurse -Force -ea 0 | ? {! $ _. PsIsContainer -and $ _. LastWriteTime -lt (Get-Date) .AddDays (-30)} | ForEach-Object { $ _ | del -Force $ _. FullName | Исходящий файл C: \ log \ deletedbackups.txt -Append } # удалить пустые папки и подпапки, если таковые существуют Get-ChildItem $ Папка -Recurse -Force -ea 0 | ? {$ _. PsIsContainer -eq $ True} | ? {$ _. getfiles (). count -eq 0} | ForEach-Object { $ _ | del -Force $ _.FullName | Исходящий файл C: \ log \ deletedbackups.txt -Append } 

Удалить файлы после проверки их существования

Вот как проверить, существует ли файл, и удалить его, если есть:

 $ FileName = 'C: \ data \ log.txt' Если (Test-Path $ FileName) { Remove-Item $ FileName } 

Удаление файлов с нескольких компьютеров одним скриптом

Чтобы удалить файлы с удаленных компьютеров, у вас должны быть соответствующие разрешения безопасности для доступа к ним. Обязательно используйте пути UNC, чтобы сценарий правильно определил расположение файлов.

 $ filelist = @ ("\ c $ \ Temp", "\ c $ \ Backups") # переменная для удаления файлов и папки $ computerlist = Get-Content C: \ data \ pc.txt # получить список удаленных компьютеров foreach ($ computer в $ computerlist) { foreach ($ file в $ filelist) { $ filepath = Join-Path "\\ $ computer \" "$ filelist" # создать unc-пути к файлам или папкам если (Test-Path $ filepath) { Remove-Item $ filepath -force -recurse -ErrorAction Continue}}} 

Копирование файлов и папок с помощью PowerShell

Командлет Copy-Item позволяет копировать объекты с одного пути на другой.Следующая команда создает резервную копию, копируя файл users.xlsx с одного удаленного компьютера (fs) и сохраняя его на другом (fs2) по сети:

 Copy-Item -Path \\ fs \ Shared \ it \ users.xlsx -Destination \\ fs2 \ Backups \ it \ users.xlsx 

Если целевой файл уже существует, попытка копирования не удастся. Чтобы перезаписать существующий файл, даже если он находится в режиме только для чтения, используйте параметр -Force:

 Copy-Item -Path \\ fs \ Shared \ it \ users.xlsx -Destination \\ fs2 \ Backups \ it \ пользователей.xlsx -Force 

Копирование файлов с помощью PowerShell на удаленный компьютер или с него

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

Например, используйте эту команду для копирования файлов с удаленного файлового сервера в локальный каталог C::

 Copy-Item \\ fs \ c $ \ temp -Recurse C: \ data \ 

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

 Copy-Item C: \ data \ -Recurse \\ fs \ c $ \ temp 

Скопируйте несколько файлов с одного сервера на другой по сети за один скрипт

Вы также можете копировать файлы с одного удаленного сервера на другой.Следующий сценарий рекурсивно копирует папку \\ fs \ Shared \ temp в \\ fs \ Shared \ test:

 Copy-Item \\ fs \ Shared \ temp -Recurse \\ fs \ Shared \ test 

Копировать только определенные типы of files

Чтобы скопировать только определенные файлы из исходного содержимого в место назначения, используйте параметр -Filter. Например, следующая команда копирует только текстовые файлы из одной папки в другую:

 Copy-Item -Filter * .txt -Path \\ fs \ Shared \ it -Recurse -Destination \\ fs2 \ Shared \ text 

Копировать файлы с помощью команд XCOPY и ROBOCOPY или COM-объектов

Вы также можете запускать команды XCOPY и ROBOCOPY для копирования файлов или использовать COM-объекты, как в примере ниже:

 (New-Object -ComObject Scripting.FileSystemObject) .CopyFile ('\\ fs \ Shared', 'fs2 \ Backup') 

Перемещение файлов и каталогов с помощью PowerShell

Командлет Move-Item перемещает элемент, включая его свойства, содержимое и дочерние элементы, из одного расположение к другому. Он также может перемещать файл или подкаталог из одного каталога в другое место.

Следующая команда перемещает определенный файл резервной копии из одного места в другое:

 Move-Item -Path \\ fs \ Shared \ Backups \ 1.bak -Destination \\ fs2 \ Backups \ archive \ 1.bak 

Этот сценарий перемещает всю папку резервных копий и ее содержимое в другое место:

 Move-Item -Path \\ fs \ Shared \ Backups -Destination \\ fs2 \ Backups \ archive 

Каталог резервных копий и все его файлы и подпапки появятся в каталоге архива.

Переименование файлов с помощью PowerShell

Командлет Rename-Item позволяет изменить имя объекта, не изменяя его содержимое. Невозможно перемещать элементы с помощью команды Rename-Item; для этой функции вы должны использовать командлет Move-Item, как описано выше.

Следующая команда переименовывает файл:

 Rename-Item -Path "\\ fs \ Shared \ temp.txt" -NewName "new_temp.txt" 

Переименовать несколько файлов

Чтобы переименовать несколько файлов одновременно, используйте скрипт следующим образом:

 $ files = Get-ChildItem -Path C: \ Temp # создать список файлов foreach ($ файл в $ файлах) { $ newFileName = $ file.Name.Replace ("A", "B") # заменить "A" на "B" Rename-Item $ file $ newFileName } 

Изменение расширений файлов с помощью PowerShell

Вы также можете использовать Rename-Item для изменения расширений файлов.Если вы хотите изменить расширения нескольких файлов одновременно, используйте командлет Rename-Item с командлетом Get-ChildItem.

Следующий сценарий изменяет все расширения файлов «txt» на «bak». Подстановочный знак (*) гарантирует включение всех текстовых файлов:

 Get-ChildItem \\ fs \ Shared \ Logs \ *. Txt | Rename-Item -NewName {$ _. Name -Replace '\ .txt $', '. Bak'} 

Используя информацию в этой статье, вы можете автоматизировать множество простых операций, связанных с управлением файлами в ваших файловых хранилищах и сэкономьте время для более важных задач.Удачи!

FAQ

Как создать файл?

Используйте командлет New-Item для создания файла:

 New-Item -Path '\\ fs \ Shared \ NewFolder \ newfile.txt' -ItemType File 

Создание файла перезаписывает любой существующий файл с таким же именем , поэтому вам может потребоваться проверить, существует ли уже файл.
Вы также можете использовать командлет New-Item для создания папок, каталогов или разделов реестра.

Как создать текстовый файл

Чтобы создать новый объект с помощью Windows PowerShell, используйте командлет New-Item и укажите тип элемента, который вы хотите создать, например:

 New-Item -Path ' \\ fs \ Shared \ NewFolder \ newfile.txt '-ItemType File 

Командлет New-Item можно использовать для создания файлов, папок, каталогов и ключей реестра.

Как создать каталог

Чтобы создать новый каталог с помощью PowerShell, используйте командлет New-Item:

 New-Item -Path '\\ fs \ Shared \ NewFolder' -ItemType Directory 

Вы можете также используйте командлет New-Item для создания файлов, папок или ключей реестра

Как удалить файл?

Чтобы удалить объект, используйте командлет Remove-Item.Подтверждение будет запрошено при выполнении, если объект не пуст.

 Remove-Item -Path '\\ fs \ shared \ it \' 

Вы также можете удалить все файлы старше X дней или удалить файлы с нескольких компьютеров с помощью PowerShell.

Как скопировать файл?

Используйте командлет Copy-Item для копирования объектов с одного пути на другой. Следующая команда создает резервную копию путем копирования файла users.xlsx с одного удаленного компьютера (fs) на другой (fs2) по сети:

 Copy-Item -Path \\ fs \ Shared \ it \ users.xlsx -Destination \\ fs2 \ Backups \ it \ users.xlsx 

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

Как переместить файл?

Командлет Move-Item перемещает элемент, включая его свойства, содержимое и дочерние элементы, из одного места в другое:

 Move-Item -Path \\ fs \ Shared \ Backups \ 1.bak -Destination \\ fs2 \ Backups \ archive \ 1.bak 

Вы также можете переместить всю папку с помощью PowerShell.

Как переименовать файл?

Чтобы переименовать один файл с помощью PowerShell, используйте следующую команду:

 Rename-Item -Path "\\ fs \ Shared \ temp.txt" -NewName "new_temp.txt" 

Вы также можете переименовать несколько файлов, используя PowerShell.

Ян - бывший специалист по техническому маркетингу в Netwrix. Он ИТ-специалист с более чем 15-летним опытом и заядлый блоггер PowerShell.

.

.net - Как указать имя пользователя и пароль при удалении подключения к общему сетевому ресурсу (в C #)

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант
.

Как удалить файлы из веб-приложения Azure с помощью PowerShell?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Смотрите также