Функция вернет TRUE, если файл доступен для записи

function CheckWrite($FullName) {
      $info = New-Object -TypeName System.IO.FileInfo -ArgumentList $FullName
      $ErrorActionPreference = "SilentlyContinue"
      [System.IO.FileStream] $fs = $info.OpenWrite();
          if (!$?) {
             $result = $false
             }
             else {
               $fs.Dispose()
               $result = $true
              }
       return $result
      }

Вызов функции:

 CheckWrite $FullName
где $FullName - полный путь к проверяемому файлу
Например: D:\Folder\file.docx

или

if(CheckWrite $FullName) {
 # действие
}
Примечание: с файлами формата TXT всегда возвращает TRUE