Ошибка при выполнении сценария Windows. Доступ к серверу сценариев запрещен

Обновлено: 21.11.2024

Как описано в этой ветке Reddit, Get-ChildItem может ничего не возвращать при возникновении ошибки "Отказано в доступе" ( System.UnauthorizedAccessException ), несмотря на -ErrorAction Ignore . Я обнаружил, что это происходит в некоторых системах при сканировании всего диска из корневого каталога.

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

Текст был успешно обновлен, но возникли следующие ошибки:

no-identd прокомментировал 18 декабря 2021 г.

@wdormann Вы явно (запретить) или неявно (без соответствия) спровоцировали сообщение об отказе в доступе, и вы сделали это на уровне файла или папки?

wdormann прокомментировал 18 декабря 2021 г.

Приведенный выше снимок экрана является результатом двух операций с файловой системой:

  1. Явно запретить доступ к файлу в подкаталоге.
  2. Явно запретить доступ к подкаталогу.
    Полагаю, мне нужно больше информации от ОП о том, что привело к возникшей проблеме и в чем заключалась проблема.

Munmun6392 прокомментировал 19 декабря 2021 г.

Здравствуйте, @wdormann. Я проверил синтаксис, есть проблема с синтаксисом. внесите изменения в синтаксис в соответствии со стандартным синтаксисом, это решит проблему.

jmbking прокомментировал 19 декабря 2021 г.


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

Если я запускаю gci 'c:\' -rec -force -include *.jar -ea 0 | foreach | select -exp Path
возвращает прикрепленную ошибку о том, что доступ запрещен, но у меня есть доступ, и я предполагаю, что это связано с ограничением символов в пути к файлу.

wdormann прокомментировал 19 декабря 2021 г.

Я не могу утверждать, что знаю что-либо о PowerShell, но я зафиксировал непрямую обработку файлов, чтобы они выглядели как 7bab00c
Поскольку я действительно не знаю, что основная причина может заключаться в том, что мне придется положиться на любого, кто высказался здесь, чтобы узнать, изменилось ли что-нибудь.

прокомментировал bewell 20 декабря 2021 г. •


Я получаю эту ошибку при запуске скрипта. Я удаленно зашел на сервер.
Редактировать: я вошел в систему как администратор и запускаю PS от имени администратора.

wdormann прокомментировал 20 декабря 2021 г.

Важный вопрос:
Остановился ли сканер в момент обнаружения файла, или он просто сообщает вам, что обнаружил файл, который не может прочитать по пути?

прокомментировал bewell 20 декабря 2021 г.

Важный вопрос: остановился ли сканер в момент обнаружения файла или он просто сообщает вам, что по пути обнаружил файл, который не может прочитать?

Он остановился и вернулся с приглашением PS C:\tmp>.

wdormann прокомментировал 20 декабря 2021 г.

В качестве эксперимента попробуйте изменить "-ErrorAction Ignore" на "-ErrorAction SilentlyContinue" в скрипте ps1.

прокомментировал bewell 20 декабря 2021 г.

В качестве эксперимента попробуйте изменить "-ErrorAction Ignore" на "-ErrorAction SilentlyContinue" в скрипте ps1.

Та же ошибка, что и раньше. Без изменений.

JaapSchram прокомментировал 21 декабря 2021 г. •

Когда параметр Force удален, он работает, однако это НЕ цель. У кого-нибудь есть предложение? Это также ломает мое сканирование, как и @bewell.

Прокомментировал JaapSchram 21 декабря 2021 г.

Это показано (удален путь At):

Get-ChildItem: доступ запрещен

TecharyJames прокомментировал 21 декабря 2021 г.

Сценарий по-прежнему работает и обнаруживает экземпляры log4j, которые можно использовать для уязвимости. Это проверялось путем размещения jar-файла log4j в нескольких местах на диске C сервера и запуска сценария.

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

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

Прокомментировал JaapSchram 21 декабря 2021 г.

Возможно, это то, что вы заметили, Джеймс, но для меня это сбой на моей собственной машине с Windows 10 с отказом в доступе (при добавлении параметра -Force в Get-ChildItem).

TecharyJames прокомментировал 21 декабря 2021 г.

Вы раскомментировали строку 55? Вы можете увидеть, как он сканирует файлы.

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

JaapSchram прокомментировал 21 декабря 2021 г. •

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

wdormann прокомментировал 21 декабря 2021 г.

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

Прокомментировал JaapSchram 21 декабря 2021 г.

Да, я понимаю @wdormann, я читал это раньше. Также я сам написал скрипт для решения проблемы с log4net с помощью аналогичной команды, и это не останавливает:

$files = Get-Childitem –Путь C:\ -Recurse –Force -ErrorAction SilentlyContinue | where-object < $.Name -match 'log4net.dll' -and $.DirectoryName -like 'C:*' > | Select-Object -Property DirectoryName

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

JaapSchram прокомментировал 21 декабря 2021 г. •

wdormann прокомментировал 21 декабря 2021 г.

Я полагаю, что преимущества использования -Force (не игнорировать скрытые файлы) не перевешивают риски (потенциальное неполное сканирование).
Если кто-то в этой теме по-прежнему сталкивается с проблемами после ее удаления, сообщите об этом сейчас.

jledoux1962 прокомментировал 21 декабря 2021 г.

Я попытался удалить -Force, но скрипт сканирует только дюжину файлов, прежде чем останавливается. Сканирование выполняется на диске C:\, на котором определенно находится более дюжины файлов. Это происходит на одной машине под управлением Windows Server 2012 R2. Есть предложения?

jsmartbnl прокомментировал 21 декабря 2021 г.

Я работаю над исправлением — есть вероятность того, что скрипт поглотит исключения, связанные с отказом в доступе

jsmartbnl прокомментировал 21 декабря 2021 г.

JaapSchram прокомментировал 21 декабря 2021 г. •

jsmartbnl прокомментировал 21 декабря 2021 г.

jsmartbnl прокомментировал 21 декабря 2021 г.

Дело в том, что содержимое System.IO.Compression.ZipFile уже заключено в блок try/catch. Таким образом, файл, не являющийся действительным zip, должен быть в порядке. Подозреваю, что происходит что-то неладное. Возможно, $ означает, что «файл» действительно является NTFS ADS?

Я думаю, что zip-файл — отвлекающий маневр. Исключение происходит где-то еще, надеюсь, оно было перехвачено $error.

jledoux1962 прокомментировал 21 декабря 2021 г.

Та же проблема, что и при использовании нового скрипта.

jsmartbnl прокомментировал 21 декабря 2021 г.

Та же проблема, что и при использовании нового скрипта.

Запустите с параметром -Verbose и посмотрите, что он вам сообщает при сканировании.

Прокомментировал JaapSchram 21 декабря 2021 г.

Вот так: Checkjndi.ps1 C:\ -verbose -force?

jsmartbnl прокомментировал 21 декабря 2021 г.

Например: Checkjndi.ps1 C:\ -verbose -force?

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

Прокомментировал JaapSchram 21 декабря 2021 г.

Я добавил последний код в свой сценарий исправления Intune, немного подправил его, добавил функцию ведения журнала, и, тем не менее, он работает без параметра force, но пока все в порядке. Спасибо за тяжелую работу, ребята!!

Прокомментировал JaapSchram 21 декабря 2021 г.

Прокомментировал JaapSchram 21 декабря 2021 г.

Еще один пример, но я думаю так же:

jsmartbnl прокомментировал 21 декабря 2021 г.

Прокомментировал JaapSchram 21 декабря 2021 г.

теперь куда-то попали, вывод ошибки другой:

JaapSchram прокомментировал 21 декабря 2021 г. •

C:\Document and Settings — это точка соединения, ярлык файловой системы для c:\users. Итак, позвольте мне объяснить, что я запускаю сценарий, как и всегда, в разделе «Уполномоченный NT\система», чтобы имитировать его работу через Intune (или SCCM). Из командной строки с повышенными привилегиями: psexec.exe -i -s %SystemRoot%\system32\cmd.exe.

Прокомментировал JaapSchram 21 декабря 2021 г.

Итак, как нам обойти эту проблему :-)

JaapSchram прокомментировал 21 декабря 2021 г. •

Для скрипта исправления Intune базовый код идеален, я просто добавляю это внизу:

попробуйте
if ($global:foundvulnerable -eq $false) Write-Log -Сообщение "Проблема не найдена, выйдите с кодом 0" -Информация о серьезности
выход 0
>
else Write-Log -Сообщение "Обнаружена проблема, выход с кодом 1" - Ошибка серьезности
выход 1
>

>
catch $errMsg = $_.Exception.Message
возврат $errMsg
выход 1
>

Простая функция регистрации:

функция Write-Log [CmdletBinding()]
param(
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]$message,

endnil прокомментировал 22 декабря 2021 г.

Похоже, в нашем случае мешает антивирусное ПО (проблемы даже с 7bab00c). Когда он отключен, $f = get-childitem -path "c:\" -file -recurse -force -erroraction ignore -include "*.zip" не вызывает исключений, а $f содержит список совпадающих файлов. При включенном антивирусе тот же вызов вызывал UnauthorizedAccessException , а $f имел значение null. Однако, пару раз переключив антивирус, он начинал работать каждый раз! Это также происходит только на некоторых машинах.

Интересно, что удаление -include "*.zip" позволило завершить вызов без создания исключения, и был возвращен список файлов. Замена -include "*.zip" на -filter "*.zip" также сработала, хотя -filter более ограничен.

На данный момент лучшим решением для нас является ручная фильтрация с помощью чего-то вроде $f = get-childitem -path "c:\" -file -recurse -force -erroraction ignore | где < $_.fullname.endswith(".zip") >.

В этом вопросе SO говорится о проблемах с Get-ChildItem и точками повторной обработки. Сначала я пытался использовать Get-ChildItem -Force -Recurse -Attributes !Hidden, !System, !ReparsePoint, как было предложено во втором ответе, но это не решило проблему. Подход с использованием Get-WmiObject позволяет избежать исключения, но кажется значительно медленнее, чем Get-ChildItem .

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

Надеюсь, что-то из этого поможет другим.

no-identd прокомментировал 22 декабря 2021 г. •

Создает ли GCI блокировки чтения перед попыткой чтения?

+Поскольку @JaapSchram сообщил, что это происходит даже при работе с NT-AUTHORITY\SYSTEM, это заставляет меня подозревать, что мы сталкиваемся с чем-то вроде нарушения контроля уровня целостности — есть только одна вещь более мощная, чем локальная система (также известная как NT-AUTHORITY\ SYSTEM) с точки зрения уровня целостности, и это TrustedInstaller. (однако, не вздумайте возиться с получением права собственности, чтобы обойти это.)

Кроме того, следует отметить, что такие папки, как C:\Documents and Settings\, не являются «обычными» соединениями NTFS. Подстройка совместимости UAC действует на эти папки iirc. (если бы это были простые соединения, вы могли бы просмотреть их в проводнике.) К сожалению, у меня очень мало времени, чтобы внести свой вклад в это, иначе я бы исследовал это более тщательно, так что это все из смутных воспоминаний много лет назад, и, возможно, искажено несколько вещей.

@ednil, можете ли вы подключить procmon к powershell, пока антивирус активен? (убедитесь, что у вашего пользователя действительно есть разрешения на отладку, многие корпоративные среды удаляют это разрешение из группы администраторов, из-за чего такие инструменты, как procmon, ведут себя странно, но не сообщают об ошибках.)

Прокомментировал JaapSchram 22 декабря 2021 г.

Вернёмся к сети, через минуту-другую проверим последнюю версию кода.

Прокомментировал JaapSchram 22 декабря 2021 г.

С NT-AUTHORITY\SYSTEM мне по-прежнему отказывают в доступе и, к сожалению, перестают работать.

И действительно, @no-identd, я согласен с вашим утверждением. Я проведу еще один тест и запущу скрипт из Intune с включенным принудительным параметром.

В этой статье представлено решение ошибки (отказано в доступе), возникающей при выполнении пакетного задания на компьютере под управлением Microsoft Windows Server 2003.

Применимо к: Windows Server 2003
Исходный номер базы знаний: 867466

Симптомы

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

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

Причина

Эта проблема возникает, если выполняются все следующие условия:

  • Вы запускаете пакетное задание на рядовом сервере под управлением Windows Server 2003.
  • Пакетное задание выполняется как неинтерактивный процесс.
  • Пакетное задание настроено для запуска в контексте учетной записи, которая не является членом группы администраторов.

В Windows Server 2003 группа "Пользователи" не имеет разрешений на чтение и выполнение командного процессора (Cmd.exe).По умолчанию программа Cmd.exe имеет следующие настройки разрешений:

Неявная группа Interactive и неявная группа Service имеют разрешения на чтение и выполнение.

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

Группа «Администраторы» и неявная группа «Система» имеют разрешения «Полный доступ».

Чтобы решить эту проблему, используйте один из следующих способов.

Решение 1. Предоставьте Cmd.exe разрешения на чтение и выполнение

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

Нажмите "Пуск", а затем нажмите "Проводник Windows".

Найдите и щелкните правой кнопкой мыши файл Cmd.exe. Файл Cmd.exe находится в папке %windir%\System32.

Нажмите "Свойства".

Перейдите на вкладку "Безопасность".

Нажмите "Добавить".

В поле Введите имена объектов для выбора введите имя пользователя, под которым запускается пакетное задание, а затем дважды нажмите кнопку ОК.

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

Нажмите Да, когда вам будет предложено продолжить.

Решение 2. Предоставьте пакетной группе разрешения на чтение и выполнение для файла Cmd.exe

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

  1. Нажмите "Пуск", а затем нажмите "Проводник".
  2. Найдите и щелкните правой кнопкой мыши файл Cmd.exe. Файл Cmd.exe находится в папке %windir%\System32.
  3. Нажмите "Свойства".
  4. Перейдите на вкладку "Безопасность".
  5. Нажмите "Добавить".
  6. В поле "Введите имена объектов для выбора" введите Пакетная обработка, а затем дважды нажмите кнопку "ОК".
  7. Нажмите «Да», когда вам будет предложено продолжить.

Подробнее

Поведение, описанное в этой статье, отличается от поведения по умолчанию Microsoft Windows 2000 Server. По умолчанию Windows 2000 Server предоставляет разрешения на чтение и выполнение группе пользователей.

Для получения дополнительных сведений о неявных группах посетите следующие веб-сайты Microsoft:

Проблема: как исправить «Произошла системная ошибка 5. Доступ запрещен» в Windows?

Я попытался запустить команду Net View в командной строке, но команды не были выполнены успешно. Я получил сообщение об ошибке «Произошла системная ошибка 5. Доступ запрещен." Что это значит и что мне делать, чтобы обойти это? Я использую Windows 10.

Если вы запускаете команды через утилиту командной строки на своем компьютере, системная ошибка, такая как «Произошла системная ошибка 5», изначально не должна возникать. К сожалению, практика показывает, что время от времени он проявляется у пользователей при выполнении команд без прав администратора. Первоначально это просто означает, что вы не можете выполнить команду, потому что у вас нет прав администратора.

«Произошла системная ошибка 5. Отказано в доступе» — это относительно старая проблема, которая существует с момента выпуска Windows 7. Однако сообщения пользователей на официальном сайте Microsoft [1] свидетельствуют о том, что проблема так и не была решена и перенесена в Windows 8, 8.1 и 10.

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

Ошибка может быть связана со многими различными командами (например, Net View или Net Time). Как правило, системная ошибка 5 в командной строке [2] появляется, когда пользователь пытается выполнить более сложные команды. Существуют отдельные случаи возникновения такой ошибки, и некоторые из них могут быть связаны с неправильными настройками конфигурации ПК:

  1. Проблемы с синхронизацией времени. Если время на вашем устройстве настроено неправильно, могут возникнуть подобные проблемы. Чтобы решить эту конкретную проблему, вам нужно включить функцию синхронизации времени на ПК и убедиться, что в первую очередь используется правильный часовой пояс для вашего региона.
  2. Учетная запись отключена. Возможно, вы пытаетесь использовать отключенную учетную запись или учетную запись, которая не существует в домене. В этой ситуации вы можете попытаться убедиться, что учетная запись включена в домене и существует, если вы попытаетесь ее использовать. Для этого вы можете использовать утилиту командной строки Netdom на ПК.
  3. Отсутствует разрешение на доступ к удаленному компьютеру. Прежде чем пытаться получить доступ к удаленному компьютеру, вы должны убедиться, что у вас есть все необходимые разрешения. Если какой-либо из них отсутствует, может появиться ошибка любого рода. Системная ошибка 5 — одна из них. Это просто поправимо, нужно получить все необходимые разрешения с удаленного компьютера.

Однако в большинстве случаев сообщение «Произошла системная ошибка 5» появляется из-за отсутствия прав администратора. Даже если пользователь ПК вошел в систему как администратор, командная строка может отказать в доступе, если она запущена не от имени администратора.

Можно попробовать исправить ошибку «Произошла системная ошибка 5. Доступ запрещен» при выполнении некоторых методов вручную.

Как исправить «Произошла системная ошибка 5. Доступ запрещен”

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

Чтобы проверить реестр, системные файлы, вредоносные программы, [3] отсутствующие файлы, кеш, [4] и другие проблемы, мы рекомендуем запустить сканирование с помощью Reimage Mac Washing Machine X9. Этот инструмент [5] может найти мошеннические компоненты в компьютерной системе, позаботившись об устаревших записях реестра, что также может увеличить скорость вашей вычислительной работы.

«Произошла системная ошибка 5. Отказано в доступе» — это старая проблема, возникающая на компьютерах с ОС Windows.

Откройте командную строку и запустите ее от имени администратора

Поэтому, чтобы исправить «Произошла системная ошибка 5. Доступ запрещен» в Windows 7, 8, 10 или другой версии вам следует открыть командную строку с повышенными привилегиями с правами администратора. Для этого вам следует:

Windows 7:

  1. Откройте меню "Пуск", введите cmd и нажмите Enter.
  2. Нажмите правой кнопкой мыши результаты поиска и выберите "Запуск от имени администратора".
  3. Если откроется UAC, нажмите "ОК" для подтверждения.

Windows 8, 8.1 или 10:

  1. Нажмите клавишу Windows + X, чтобы открыть раскрывающееся меню.
  2. Выберите Командная строка (администратор).
  3. Кроме того, вы можете нажать клавишу Windows и ввести cmd.
  4. Нажмите правой кнопкой мыши на результаты поиска,
  5. Выберите «Запуск от имени администратора».
  6. Если откроется UAC, нажмите "ОК" для подтверждения.

Изменить записи редактора реестра Windows

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

  1. Откройте "Пуск", введите regedit и нажмите Enter.
  2. Используйте левую панель, чтобы перейти к разделу HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters.
  3. Нажмите на меню "Правка" и выберите "Добавить значение".
  4. Назовите новое значение MinFreeConnections.
  5. Затем выберите Добавить -> Создать -> REG_DWORD.
  6. Установите для нового ключа значение 5 и закройте редактор реестра.
  7. После этого щелкните правой кнопкой мыши клавишу Windows и выберите "Панель управления".
  8. Выберите «Сеть» и найдите «Установленное сетевое программное обеспечение».
  9. В разделе «Установленное сетевое программное обеспечение» выделите «Сервер» и выберите «Настроить».
  10. Найдите раздел "Оптимизация" и выберите "Максимальная пропускная способность для общего доступа к файлам" под ним.
  11. Нажмите "ОК".
  12. После этого откройте Пуск,
  13. Далее введите cmd, щелкните его правой кнопкой мыши и выберите "Запуск от имени администратора".
  14. Введите net stop server и net start server.
  15. Нажимайте Enter после каждого из них.

Исправить «Произошла системная ошибка 5. Доступ запрещен», запустив редактор реестра и выполнив в нем некоторые действия.

Привет, я создал простой скрипт для моего коллеги, чтобы они могли сбросить и разблокировать учетную запись Windows. Проблема в том, что когда они пытаются разблокировать учетную запись, выдается ошибка, в доступе которой отказано, хотя я уже дал разрешение их учетной записи пользователя на разблокировку и сброс в AD. На самом деле он отлично работает в учетной записи, которая является администратором домена. Не могли бы вы, ребята, помочь мне, что проверить. Спасибо

реднтор

Intel vPro®: что нового в 2022 году

2022-03-24 16:00:00 UTC Video Meetup Видеовстреча: Intel - Intel vPro®: что нового в 2022 г. Сведения о событии Просмотреть все события

15 ответов

EminentX

  • отметить 28 лучших ответов
  • thumb_up 89 благодарных голосов

rednthor написал:

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

Не могли бы вы объяснить, как они это делают?

  • отметить 224 лучших ответа
  • thumb_up – 404 благодарных голоса

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

jrp78

  • отметить 71 лучший ответ
  • thumb_up – 225 благодарных отзывов

Дайте им ADUC и посмотрите, смогут ли они это сделать там. Если они не могут, у вас нет прав на их разрешения. Если это работает, пусть они продолжают использовать ADUC для обеих задач и забудут о сценарии.

адриан_йч

  • отметить 58 лучших ответов
  • thumb_up: 327 благодарных отзывов

rednthor написал:

Привет, я создал простой скрипт для моего коллеги, чтобы они могли сбросить и разблокировать учетную запись Windows. Проблема в том, что когда они пытаются разблокировать учетную запись, выдается ошибка, в доступе которой отказано, хотя я уже дал разрешение их учетной записи пользователя на разблокировку и сброс в AD. На самом деле он отлично работает в учетной записи, которая является администратором домена. Не могли бы вы, ребята, помочь мне, что проверить. Спасибо

Является ли ваш коллега администратором домена или ему делегированы права на контроллер домена?

ОП Реднтор

Они просто запускают bat-файл. Затем в программе есть варианты: разблокировать или просмотреть статус пользователя домена.

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

rednthor написал:

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

Не могли бы вы объяснить, как они это делают?

ОП Реднтор

Rod-IT пишет:

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

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

ОП Реднтор

Да, они могут разблокировать пользователей домена через MMC. На самом деле я планировал раньше создать эквивалентный сценарий оболочки, извините за то, что это моя цель изучения программирования, в то же время помогая моему коллеге в какой-то задаче. Надеюсь, что вы меня понимаете. :)

jrp78 написал:

Дайте им ADUC и посмотрите, смогут ли они это сделать там.Если они не могут, у вас нет прав на их разрешения. Если это сработает, пусть продолжают использовать ADUC для обеих задач и забудут о сценарии.

ОП Реднтор

rednthor написал:

Привет, я создал простой скрипт для моего коллеги, чтобы они могли сбросить и разблокировать учетную запись Windows. Проблема в том, что когда они пытаются разблокировать учетную запись, выдается ошибка, в доступе которой отказано, хотя я уже дал разрешение их учетной записи пользователя на разблокировку и сброс в AD. На самом деле он отлично работает в учетной записи, которая является администратором домена. Не могли бы вы, ребята, помочь мне, что проверить. Спасибо

Является ли ваш коллега администратором домена или ему делегированы права на контроллер домена?

Нет, они не являются администраторами домена, но имеют право разблокировать учетные записи пользователей. :)

jrp78

  • отметить 71 лучший ответ
  • thumb_up – 225 благодарных отзывов

Вы можете опубликовать сценарий?

GScott-Великобритания

это powershell, так как вам может понадобиться «set-executionpolicy unlimited», так как из коробки это не будет включено.. .

данкран

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

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

РюнМТ

GScott-UK пишет:

это powershell, так как вам может понадобиться 'set-executionpolicy unlimited', поскольку по умолчанию это не будет включено.. . .

Собирался предложить то же самое.

ИндустриТех87

Было бы быстрее использовать ADUC. С ADUC вы просто нажимаете «Найти» и вводите несколько букв имени человека.

Лично я использую ADUC, но также использую Netwrix Account Lockout Examiner. У меня он стоит на четвертом мониторе, и я могу разблокировать учетные записи до того, как люди узнают, что они заблокированы!

Было бы также полезно увидеть ваш код. Удачи.

ОП Реднтор

Прежде всего, пожалуйста, потерпите меня. Я не специалист в программировании. Пожалуйста, смотрите мой код ниже

@echo off
mode con cols=94 lines=50 > nul

TITLE Средство проверки Active Directory
ЦВЕТ 0A

call :main
echo [1] Проверить статус пользователя
echo [2] Разблокировать пользователя Bounty
echo
SET /P ans=Пожалуйста, выберите?:[93m
клс


Если "%ans%"=="1" перейти к установке
Если "%ans%"=="2" перейти к разблокировке
Если "%ans%"==" "перейти к ошибке

вызов :main
echo.
echo.
echo. [101;93m **************** ПОЖАЛУЙСТА, ВВЕДИТЕ ДЕЙСТВИТЕЛЬНЫЙ НОМЕР **************** [0m
REM ping localhost -n 10>nul
тайм-аут /t 10>nul

: установить
ЦВЕТ ШРИФТА REM НА ЗЕЛЕНЫЙ

ЛОГОТИП REM CALL BOUNTY
вызов :main

SET /P uname=Пожалуйста, введите логин пользователя:[93m
cls
echo.[93m
call :main
echo. [93m%uname% [0m

COLOR 0A
Пользователь NET /Domain %uname%
Пользователь NET /Domain %uname% > "C:\checkstatusv3.txt

REM Ищите "Locked"
Findstr /I "Locked" "C:\checkstatusv3.txt"
IF %errorlevel% EQU 0 goto next1
IF %errorlevel% EQU 1 goto следующий

REM Выводит пользователя домена как АКТИВНОГО
:далее

REM msg "%username%" ******************FUCK OFF %uname% активен **************** *
эхо.
эхо.
эхо.
REM-вызов :QA
REM-эхо. Вы хотите вернуться в главное меню?
REM pause>nul
REM cls
REM goto :start

REM Выходной пользователь домена как LOCKED
:next1

вызвать :main
ЦВЕТ 0A

SET /P uname=Пожалуйста, введите логин пользователя: [93m
Пользователь сети /Домен /Активный:YES %uname%

Эта тема заблокирована администратором и больше не открыта для комментариев.

Чтобы продолжить обсуждение, задайте новый вопрос.

Эргономичное оборудование

Кто в США должен нести ответственность за предоставление эргономичного оборудования по запросу сотрудника? Это ИТ, поскольку ИТ предоставляет клавиатуры и мыши? Должен ли это быть HR, поскольку он эргономичен и несет потенциальную ответственность, если НЕ предоставляется? Должен ли это быть тот отдел.

Приветствие Xfinity (личный домашний Интернет)

Во-первых, мне больно. Я мог бы произнести речь «Он ставит передо мной задачу», как Хан в «Звездном пути 2: Гнев Хана». Просто замените «Они» на «Он». Но они сделали то, чего я хотел годами (десятилетиями?), так что, думаю, это должно быть признано. Ю.

Щелкни! SATCOM Threat, IE End of Life, Mac с кирпичами, Planet 9, Lego Delorean

Ваша ежедневная доза технических новостей. Вы должны это услышать. ФБР и CISA предупреждают об угрозах для сетей спутниковой связи Согласно новому предупреждению ФБР и CISA спутниковые сети находятся в зоне высокого риска. Согласно ZDNet.

Какими сверхспособностями вы хотели бы обладать?

Что может сделать ИТ-специалист со сверхспособностями? В каких ИТ-задачах вы бы их использовали и как?

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

Недавно я понял, что у меня есть конфигурация коммутатора с непреднамеренным потенциальным побочным эффектом. У меня есть Aruba 6300F с несколькими виртуальными локальными сетями. Он работает в режиме уровня 3. Это работает следующим образом: я просто «включаю» функции маршрутизатора, а затем.

Читайте также: