Program Tip

PSEXEC, 액세스 거부 오류

programtip 2021. 1. 10. 19:31
반응형

PSEXEC, 액세스 거부 오류


PSEXEC.exe를 사용하는 동안 원격 시스템에 대한 '액세스 거부'오류가 발생합니다.

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?


안녕하세요 저는 "액세스가 거부되었습니다"에 대한 다양한 솔루션에 대한 온라인 여러 소스의 요약을 여기에 배치하고 있습니다. 대부분의 정보는 여기에서 찾을 수 있습니다 (필요한 요구 사항 포함)-시스템 내부 도움말

  1. 누군가가 언급 했듯이이 reg 키를 추가 한 다음 컴퓨터를 다시 시작하십시오.

    reg add HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ system / v LocalAccountTokenFilterPolicy / t REG_DWORD / d 1 / f

    이 지식 기반 문서읽고 이것이 수행하는 작업과 필요한 이유를 알아보십시오.

  2. 방화벽 비활성화 (참고-방화벽 보호가 해제 됨)

    netsh advfirewall은 allprofiles 상태를 해제합니다.

  3. 대상 사용자에 빈 PW가 있고 추가하지 않으려면 대상에서 실행하십시오.

    [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa] "LimitBlankPasswordUse"= dword : 00000000

  4. 이것은 나를 위해 작동하지 않았지만 대상 실행시 몇 곳에서 다른 사람들을 위해 읽었습니다.

    시작-> 실행-> secpol.msc-> 로컬 정책-> 보안 옵션-> 네트워크 액세스 : 공유> 로컬 계정에 대한 보안 모델> 클래식 – 로컬 사용자가 스스로 인증합니다.

    이미 'Classic'에있는 경우 :

    "게스트 전용-.."으로 이동 상승 된 명령 프롬프트에서 실행 gpupdate \ force 다시 '클래식-.. "로 이동 상승 된 명령 프롬프트에서 다시 실행 gpupdate \ force

  5. 이것은 내 문제를 해결했습니다.

    상승 된 명령 프롬프트에서 대상에서 실행 "net use"출력 차트에서 원격 열에 나열된 공유를 확인합니다 (연결이 끊긴 항목 만 삭제-모두 시도 할 수 있음) "net use [이전 목록의 원격 경로] / delete "그런 다음 'net use \ target \ Admin $ / user : [user name]'을 실행하여 프롬프트 비밀번호 요청을 입력하십시오 (비어있는 경우 Enter를 누르십시오). viola가 작동합니다.

행운을 빕니다, 이것이 누군가의 시간을 절약하기를 바랍니다.


레지스트리 값을 만들고 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy1로 설정 하여 동일한 증상을 방금 해결 했습니다. 자세한 내용은 여기에서 확인할 수 있습니다 .


PsExec은 런처가 가진 모든 액세스 권한을 가지고 있습니다. 일반 Windows 액세스 제어 하에서 실행됩니다. 이는 PsExec을 시작한 사람 (귀하, 스케줄러, 서비스 등)이 대상 컴퓨터에 대한 충분한 권한을 가지고 있지 않거나 대상 컴퓨터가 올바르게 구성되지 않았 음을 의미합니다. 가장 먼저 할 일은 다음과 같습니다.

  1. PsExec의 시작 프로그램이 도메인을 통해 또는 두 컴퓨터에서 로컬로 정의 된 동일한 사용자 및 암호를 사용하여 대상 컴퓨터에 익숙한 지 확인합니다.
  2. 명령 줄 인수를 사용하여 대상 컴퓨터에 알려진 사용자를 지정합니다 (-u user -p password).

그래도 문제가 해결되지 않으면 대상 컴퓨터가 여기지정된 최소 요구 사항을 충족하는지 확인 하십시오 .


이것은 내 경우에 도움 되었습니다.

cmdkey.exe /add:<targetname> /user:<username> /pass:<password>
psexec.exe \\<targetname> <remote_command>

명령을 시도 할 수 있습니다.

net use \\computername\ipc$ /user:adminname password

psexec를 사용하기 전에 원격 PC에서 관리자 권한을 얻으려면.


방금 "-с"매개 변수를 추가했습니다. Psexec 사본을 원격 시스템에 실행 가능하게 만듭니다. 따라서 액세스 오류없이 작동합니다.


나는 같은 문제가 있었다. 열심히 일한 끝에 쉽고 완전한 해결책을 찾았습니다.

  1. runas사용 하여 관리자 계정에서 스크립트를 실행합니다.
  2. psExec 에서 -s 매개 변수를 사용하여 시스템 계정에서 실행합니다.
  3. PsExec 내부에서 관리자 계정으로 다시 로그인 합니다.
  4. &를 사용 하여 여러 명령을 실행할 수 있습니다.
  5. [USERNAME], [PASSWORD], [COMPUTERNAME], [COMMAND1] 및 [COMMAND2]를 실제 값으로 바꿔야합니다.

코드는 다음과 같습니다.

runas /user:[USERNAME] "psexec -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2]"


다른 컴퓨터에서 스크립트를 디버깅하려면 다음 템플릿을 실행하십시오.

runas /user:[USERNAME] "psexec -i -e -h -s -u [USERNAME] -p [PASSWORD] \\[COMPUTERNAME] cmd /C [COMMAND1] & [COMMAND2] & pause"

대상 (원격) 시스템에서이 키를 설정하고 시스템을 다시 시작하십시오.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"LocalAccountTokenFilterPolicy"=dword:00000001

See: http://forum.sysinternals.com/topic10924.html and http://www.brandonmartinez.com/2013/04/24/resolve-access-is-denied-using-psexec-with-a-local-admin-account/


I found Sophos kept placing psexec.exe into the Quarantine section. Once I authorized it, it ran fine.


I had a case where AV was quarantining Psexec - had to disable On-access scanning


I found another reason PSEXEC (and other PS tools) fail - If something (...say, a virus or trojan) hides the Windows folder and/or its files, then PSEXEC will fail with an "Access is Denied" error, PSLIST will give the error "Processor performance object not found on " and you'll be left in the dark as to the reason.

You can RDP in; You can access the admin$ share; You can view the drive contents remotely, etc. etc., but there's no indication that file(s) or folder(s) being hidden is the reason.

I'll be posting this information on several pages that i was perusing yesterday while trying to determine the cause of this odd problem, so you might see this elsewhere verbatim - just thought I'd put the word out before anyone else pulled their hair out by the roots trying to understand why the performance counter has anything to do with PSEXEC running.


For anybody who may stumble upon this. There is a recent (Dec 2013) Security Update from Microsoft Windows on Windows 7 that is preventing remote execution. See http://support.microsoft.com/kb/2893294/en-us

I uninstalled the Security Update by going to Control Panel\Programs\Programs and Features\Installed Updates

It worked right after that.


The following worked, but only after I upgraded PSEXEC to 2.1 from Microsoft.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "LocalAccountTokenFilterPolicy"=dword:00000001 See: http://forum.sysinternals.com/topic10924.html

I had a slightly older version that didn't work. I used it to do some USMT work via Dell kace, worked a treat :)


On Windows Server 2012 R2 I had trouble to run from user account

psexec -u administrator -p password \\machinename -h -s -d -accepteula cmd.exe

But it works fine if you run without parameters -h -s. That's why I use this to solve my trouble:

psexec -accepteula -u administrator -p password \\machinename %PathToLocalUtils%\psexec.exe -h -s -d  cmd.exe

I still use psexec, even on win 10. Replace the psexec.exe in the Windows 10's win32 folder with the older version to work -> I use version 2.11.0.0. The Windows 10 version I was using would only run .bat files as background/hidden process on the remote computer. Took a whole day to figure this out.

Adding the registry key from above to the remote computer helps as well:

   reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

I couldn't get access to remote machines unless I had UAC disabled.

That has to be done locally, either from control panel or running the following through cmd:

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

While UAC is enabled, make sure you run cmd as administrator.


For a different command I decided to change the network from public to work.
After trying to use the psexec command again it worked again.
So to get psexec to work try to change your network type from public to work or home.

ReferenceURL : https://stackoverflow.com/questions/828432/psexec-access-denied-errors

반응형