Windows powershell отказано в доступе по пути

Добрый день!
  • Remove From My Forums
  • General discussion

  • Добрый день!

    Я в PS и программировании недавно, помогите, пожалуйста, разобраться с проблемой. Есть около 100 рабочих мест, все под Win7. На некоторых PC (около 15) не отрабатывает любой PS скрипт, который должен дозаписывать в файл, расположенный
    в сети. Например такой(собирает данные о текущем пользователе):

    cls
    $user = [Environment]::UserName
    $date = Get-Date -Format "d.MM.yyyy H:mm:ss"
    
    $sys = Get-CimInstance CIM_ComputerSystem
    $hostname = $sys.name.ToString()
    
    $path_root = '\192.168.50.25commoncommonInventory'
    $path = $path_root +""+ $hostname
    
    #create work dir
    if (Test-Path $path) {
       Write-Host "Folder exist!"
    }Else{
        New-Item -Path $path_root -Name $hostname -ItemType directory
        }
    
    $FIO = Get-WMIObject Win32_UserAccount | where name -eq $user #FIO from AD
    
    $hostname + "|" + $FIO.FullName + "|"  + $date | Out-File -FilePath $pathfio.txt -Append -Encoding unicode

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

    Out-File : Отказано в доступе по данному пути.
    C:BATINVget_fio&usrname&last_logon.ps1:20 знак:50
    + $hostname + «|» + $FIO.FullName + «|»  + $date | Out-File -FilePath $pathfio.tx …
    +                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Out-File], UnauthorizedAccessException
        + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.OutFileCommand

    Гуглил ошибку, однако, ничего внятного не нашел.

    • Changed type

      Thursday, September 3, 2015 11:34 AM
      Отсутвие активности более 2х недель

  • Remove From My Forums
  • Вопрос

  • Здравствуйте, коллеги ;)

    У меня есть скрипт, собирающий определенную информацию с серверов с помощью Invoke-Command. в ScriptBlock’e этого командлета используется Out-File для записи собранной информации в лог файл. Первые 2 дня скрипт нормально отрабатывал, потом постепенно стали
    появляться ошибки при попытке записи лога через WinRM с разных серверов. В итоге сейчас у меня ни с одного сервера через Invoke-Command не записываются логи. Если туже команду выполнить локально, то ошибок нет и файл записывается нормально.

    Ошибка (RU):
    Отказано в доступе по пути «\dfs.namespaceLog2011.07.12.log».
        + CategoryInfo          : OpenError: (:) [Out-File], UnauthorizedAccessException
        + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

    Ошибка (EN):
    The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you.
        + CategoryInfo          : OpenError: (:) [Out-File], IOException
        + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

    Скрипт выполняется под правами админа.
    Права на конечную папку верные.

    Почему ошибка доступа?

Ответы

    • Помечено в качестве ответа

      13 июля 2011 г. 7:20

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

New-Item: Access to the path '...' is denied.

Пример команды, вызывающей данную ошибку:

New-Item c:test.txt

Эту же самую ошибку могут вызвать командлеты:

  • Clear-Item
  • New-Item
  • Remove-Item
  • Rename-Item

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

Чтобы исправить эту ошибку, нужно запустить PowerShell с правами администратора. Как это сделать смотрите в статье «Как запустить PowerShell с правами администратора».

Быстрый способ запустить PowerShell с правами администратора прямо в командной строке:

Start-Process PowerShell -Verb RunAs

Эта команда запустит версию PowerShell 5 или PowerShell 6 — в зависимости от того, что у вас установлено в системе по умолчанию. Чтобы запустить последнюю версию, которую вы установили вручную, то есть PowerShell 7, выполните команду:

Start-Process pwsh -Verb RunAs

Ошибка «Access to the path ‘…’ is denied» на Linux

На Linux может возникнуть такая же ошибка при выполнении аналогичных команд:

New-Item /test.txt

Текст ошибки:

New-Item: Access to the path '/test.txt' is denied.

Чтобы её исправить, запустите PowerShell с sudo:

sudo pwsh

В результате ошибка исчезнет и команды будут выполнять нужные вам действия:

Связанные статьи:

  • Ошибка 0x800702e4 при запуске `C:Program FilesPowerShell7-previewpwsh.exe’ (РЕШЕНО) (75.6%)
  • Как запустить PowerShell с правами администратора (75.6%)
  • Как установить PowerShell в Linux (74.4%)
  • Как проверить, запущен ли скрипт PowerShell или терминал PowerShell от имени администратора? (РЕШЕНО) (68.3%)
  • Как получить справку по командам PowerShell (50%)
  • Просмотр и поиск псевдонимов командлетов в PowerShell (RANDOM — 50%)

Рекомендуется Вам:

Содержание

  1. PowerShell: системное администрирование и программирование
  2. Всё о PowerShell в Windows и на Linux. Системное администрирование Windows
  3. Ошибка в PowerShell «New-Item: Access to the path ‘…’ is denied» (РЕШЕНО)
  4. Ошибка «Access to the path ‘…’ is denied» на Linux
  5. Windows powershell отказано в доступе по пути
  6. Вопрос
  7. Windows powershell отказано в доступе по пути
  8. Вопрос
  9. Windows powershell отказано в доступе по пути
  10. Windows powershell отказано в доступе по пути

PowerShell: системное администрирование и программирование

Всё о PowerShell в Windows и на Linux. Системное администрирование Windows

Ошибка в PowerShell «New-Item: Access to the path ‘…’ is denied» (РЕШЕНО)

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

Пример команды, вызывающей данную ошибку:

access denied

Эту же самую ошибку могут вызвать командлеты:

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

Чтобы исправить эту ошибку, нужно запустить PowerShell с правами администратора. Как это сделать смотрите в статье «Как запустить PowerShell с правами администратора».

Быстрый способ запустить PowerShell с правами администратора прямо в командной строке:

Эта команда запустит версию PowerShell 5 или PowerShell 6 — в зависимости от того, что у вас установлено в системе по умолчанию. Чтобы запустить последнюю версию, которую вы установили вручную, то есть PowerShell 7, выполните команду:

Ошибка «Access to the path ‘…’ is denied» на Linux

На Linux может возникнуть такая же ошибка при выполнении аналогичных команд:

linux pwsh error

Чтобы её исправить, запустите PowerShell с sudo:

В результате ошибка исчезнет и команды будут выполнять нужные вам действия:

Источник

Windows powershell отказано в доступе по пути

trans

Вопрос

trans

trans

У меня есть скрипт, собирающий определенную информацию с серверов с помощью Invoke-Command. в ScriptBlock’e этого командлета используется Out-File для записи собранной информации в лог файл. Первые 2 дня скрипт нормально отрабатывал, потом постепенно стали появляться ошибки при попытке записи лога через WinRM с разных серверов. В итоге сейчас у меня ни с одного сервера через Invoke-Command не записываются логи. Если туже команду выполнить локально, то ошибок нет и файл записывается нормально.

Ошибка (RU):
Отказано в доступе по пути «\dfs.namespaceLog2011.07.12.log».
+ CategoryInfo : OpenError: (:) [Out-File], UnauthorizedAccessException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

Ошибка (EN):
The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you.
+ CategoryInfo : OpenError: (:) [Out-File], IOException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

Скрипт выполняется под правами админа.
Права на конечную папку верные.

Источник

Windows powershell отказано в доступе по пути

trans

Вопрос

trans

trans

У меня есть скрипт, собирающий определенную информацию с серверов с помощью Invoke-Command. в ScriptBlock’e этого командлета используется Out-File для записи собранной информации в лог файл. Первые 2 дня скрипт нормально отрабатывал, потом постепенно стали появляться ошибки при попытке записи лога через WinRM с разных серверов. В итоге сейчас у меня ни с одного сервера через Invoke-Command не записываются логи. Если туже команду выполнить локально, то ошибок нет и файл записывается нормально.

Ошибка (RU):
Отказано в доступе по пути «\dfs.namespaceLog2011.07.12.log».
+ CategoryInfo : OpenError: (:) [Out-File], UnauthorizedAccessException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

Ошибка (EN):
The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you.
+ CategoryInfo : OpenError: (:) [Out-File], IOException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

Скрипт выполняется под правами админа.
Права на конечную папку верные.

Источник

Windows powershell отказано в доступе по пути

pushpinПрофиль | Отправить PM | Цитировать

Добрый день!
Мне необходимо определить размер всех файлов gif и jpg, которые находятся в папке windows и в ее подкаталогах. Для этого использую следующий командлет:

Но при его работе возникают многочисленные сообщения об ошибках следующего содержания:

Сообщения: 874
Благодарности: 575

Источник

Windows powershell отказано в доступе по пути

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

pushpinПрофиль | Отправить PM | Цитировать

Добрый день!
Мне необходимо определить размер всех файлов gif и jpg, которые находятся в папке windows и в ее подкаталогах. Для этого использую следующий командлет:

Но при его работе возникают многочисленные сообщения об ошибках следующего содержания:

Читайте также:  как найти разрешение экрана в виндовс 10

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

Adblock
detector

Источник

Хочу через PowerShell посчитать сколько занимают все файлы в папке Windows кроме .tmp файлов. Нет доступа хотя я администратор и имею полный доступ….куда копать?

  $FolderSize = Get-ChildItem C:Windows -Exclude *.tmp -Recurse  | measure -Property length -Sum;
        Write-Host $($FolderSize.Sum/1MB)

Get-ChildItem : Отказано в доступе по пути «C:WindowsCSC».
строка:1 знак:15
+ $FolderSize = Get-ChildItem C:Windows -Exclude *.tmp -Recurse | measure -Prope …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (C:WindowsCSC:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

Senior Pomidor's user avatar

Senior Pomidor

11.8k2 золотых знака19 серебряных знаков39 бронзовых знаков

задан 15 июл 2017 в 11:04

striker92's user avatar

Powershell нужно запустить с правами администратора. Именно ПКМ / Запуск от имени администратора

ответ дан 6 сен 2017 в 13:47

Mikhail Sokolov's user avatar

2

Так:

 $FolderSize = Get-ChildItem C:Windows -Exclude *.tmp | measure -Property length -Sum
 Write-Host $($FolderSize.Sum/1MB)

ответ дан 15 июл 2017 в 11:18

Paulo Berezini's user avatar

Paulo BereziniPaulo Berezini

2,3096 золотых знаков20 серебряных знаков32 бронзовых знака

2

Access Control can be set so tight that even a user with Admin privileges can view the contents of some folders. Under a UserProfile, the following paths will throw AccessDenied errors:

  • $Env:UserProfileAppDataLocalApplication Data
    $Env:UserProfileAppDataLocalHistory
    $Env:UserProfileAppDataLocalMicrosoftWindowsINetCacheContent.IE5
    $Env:UserProfileAppDataLocalMicrosoftWindowsINetCacheLowContent.IE5
    $Env:UserProfileAppDataLocalMicrosoftWindowsTemporary
    Internet Files
    $Env:UserProfileAppDataLocalTemporary Internet Files
    $Env:UserProfileApplication Data
    $Env:UserProfileCookies
    $Env:UserProfileDocumentsMy Music
    $Env:UserProfileDocumentsMy Pictures
    $Env:UserProfileDocumentsMy Videos
    $Env:UserProfileLocal Settings
    $Env:UserProfileMy Documents
    $Env:UserProfileNetHood
    $Env:UserProfilePrintHood
    $Env:UserProfileRecent
    $Env:UserProfileSendTo
    $Env:UserProfileStart Menu
    $Env:UserProfileTemplates

These happen to be junctions, but ultimately, the behavior is due to permissions.

I generated the above list with the following bit of PowerShell code. It collects all the paths that throw an error when recursive iteration is attempted, along with the folder’s attributes and Access Control List (ACL).

gci -ad -Force -Recurse -ev AccessErrors -ea silent | out-null

( $ForbiddenFolderInfo = $AccessErrors.TargetObject | get-acl | %{ [PSCustomObject]@{
    'Path'         = ( $_.Path -split '::' )[-1]
    'Attributes'   = ( gi $_.Path -Force ).Attributes
    'Access'       = $_.AccessToString
}} ) | fl

When run from the root of the System Drive, the first couple of items will be:

Path       : C:Documents and Settings
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataApplication Data
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataDesktop
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataDocuments
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataMicrosoftWindowsSystemData
Attributes : Directory
Access     : NT AUTHORITYSYSTEM Allow  FullControl
             NT SERVICETrustedInstaller Allow  FullControl

Access Control can be set so tight that even a user with Admin privileges can view the contents of some folders. Under a UserProfile, the following paths will throw AccessDenied errors:

  • $Env:UserProfileAppDataLocalApplication Data
    $Env:UserProfileAppDataLocalHistory
    $Env:UserProfileAppDataLocalMicrosoftWindowsINetCacheContent.IE5
    $Env:UserProfileAppDataLocalMicrosoftWindowsINetCacheLowContent.IE5
    $Env:UserProfileAppDataLocalMicrosoftWindowsTemporary
    Internet Files
    $Env:UserProfileAppDataLocalTemporary Internet Files
    $Env:UserProfileApplication Data
    $Env:UserProfileCookies
    $Env:UserProfileDocumentsMy Music
    $Env:UserProfileDocumentsMy Pictures
    $Env:UserProfileDocumentsMy Videos
    $Env:UserProfileLocal Settings
    $Env:UserProfileMy Documents
    $Env:UserProfileNetHood
    $Env:UserProfilePrintHood
    $Env:UserProfileRecent
    $Env:UserProfileSendTo
    $Env:UserProfileStart Menu
    $Env:UserProfileTemplates

These happen to be junctions, but ultimately, the behavior is due to permissions.

I generated the above list with the following bit of PowerShell code. It collects all the paths that throw an error when recursive iteration is attempted, along with the folder’s attributes and Access Control List (ACL).

gci -ad -Force -Recurse -ev AccessErrors -ea silent | out-null

( $ForbiddenFolderInfo = $AccessErrors.TargetObject | get-acl | %{ [PSCustomObject]@{
    'Path'         = ( $_.Path -split '::' )[-1]
    'Attributes'   = ( gi $_.Path -Force ).Attributes
    'Access'       = $_.AccessToString
}} ) | fl

When run from the root of the System Drive, the first couple of items will be:

Path       : C:Documents and Settings
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataApplication Data
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataDesktop
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataDocuments
Attributes : Hidden, System, Directory, ReparsePoint, NotContentIndexed
Access     : Everyone Deny  ReadData
             Everyone Allow  ReadAndExecute, Synchronize
             NT AUTHORITYSYSTEM Allow  FullControl
             BUILTINAdministrators Allow  FullControl

Path       : C:ProgramDataMicrosoftWindowsSystemData
Attributes : Directory
Access     : NT AUTHORITYSYSTEM Allow  FullControl
             NT SERVICETrustedInstaller Allow  FullControl

00aelx

1 / 1 / 1

Регистрация: 22.02.2014

Сообщений: 24

1

12.11.2018, 09:28. Показов 20963. Ответов 5

Метки нет (Все метки)


Нашел на просторах интернета вот такой скрипт:

PowerShell
1
2
3
4
5
6
$root  = 'E:Backup_logAudit1'
$limit = (Get-Date).AddDays(-37)
 
Get-ChildItem $root -Recurse | ? {
  -not $_.PSIsContainer -and $_.CreationTime -lt $limit
} | Remove-Item

Пытаюсь его запустить в powershell пишет отказано в доступе. Далее хочу его установить в планировщик задач, а планировщик задач только открывает его как текстовый документ.

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

12.11.2018, 09:28

5

v_svitere

773 / 422 / 137

Регистрация: 03.06.2009

Сообщений: 1,223

Записей в блоге: 4

12.11.2018, 09:57

2

00aelx,

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

А как вы его запускаете через планировщик?
Нужно примерно вот так

PowerShell
1
powershell -file "D:testmyfile.ps1"



0



ilya0610

1 / 1 / 2

Регистрация: 18.11.2013

Сообщений: 337

12.11.2018, 10:29

3

00aelx,

Цитата
Сообщение от 00aelx
Посмотреть сообщение

Пытаюсь его запустить в powershell пишет отказано в доступе.

введите команду

PowerShell
1
Set-ExecutionPolicy Unrestricted



0



773 / 422 / 137

Регистрация: 03.06.2009

Сообщений: 1,223

Записей в блоге: 4

12.11.2018, 10:35

4

ilya0610,
К чему вы это советуете?
Это политика выполнения сценариев, каким образом она влияет на права доступа к директориям?



0



162 / 74 / 23

Регистрация: 06.07.2017

Сообщений: 315

12.11.2018, 10:39

5

powershell -windowstyle hidden -exec bypass -file «myscript.ps1»

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



0



773 / 422 / 137

Регистрация: 03.06.2009

Сообщений: 1,223

Записей в блоге: 4

12.11.2018, 10:45

6

kapitan_lyagysh,
Ключ hidden, по идее, не должен требоваться если задача запускается в планировщике при варианте
Выполнять для незарегистрированного пользователя.



0



Понравилась статья? Поделить с друзьями:
  • Windows powershell как перейти в папку
  • Windows powershell как открыть на виндовс 10
  • Windows phone операциялы? ж?йесі арты?шылы?тары мен кемшіліктері
  • Windows powershell как найти в windows 10
  • Windows phone нет доступа к магазину