Como posso solucionar problemas simples de psExec?

3

Nas últimas duas semanas eu tenho vasculhado a internet para descobrir um problema que tenho tido de simplesmente obter "calculadora" para abrir em um computador remoto usando o psExec. Eventualmente eu fiz uma pergunta aqui também. Eu ainda não tenho uma resposta para essa pergunta, mas conseguir ajuda com essa pergunta se transformou em muitas respostas e comentários sobre diferentes maneiras de solucionar problemas do psExec. Sou grato pela ajuda que recebi, por isso estava a analisar a lista de ideias de resolução de problemas que tinha e pensei - não seria legal se eu pudesse pesquisar "solucionar problemas de psExec" e colocar essa lista em um só lugar? de cavar para pequenas pepitas úteis em toneladas de sites diferentes?

Então, com isso em mente, e no espírito do Respondendo suas próprias perguntas post, vou listar todos os métodos de solução de problemas que eu descobri, então eu vou fazer a minha pergunta. Ainda não posso adicionar muitos links porque sou novo neste site, por isso peço desculpas pela inclusão mínima de crédito e links para fontes.

  • Na parte \targetmachine do comando, tente usar o nome do computador ou o endereço IP. Às vezes não funciona quando o outro vai.
  • Use a opção -i para tornar o programa interativo na máquina remota.
  • Use a opção -d , por isso cmd não fica suspenso enquanto o programa que você está executando ainda está em execução.
  • Tente executar programas simples que não sejam o programa que você está tentando executar (ex. calc , cmd ou faça um arquivo .bat simples para testar), para verificar se a sua sintaxe está errada. / li>
  • Segmente um computador diferente com um comando semelhante para ver se o comando funciona.
  • Se você já tentou a opção -d , execute seu programa e deixe-o pendurar por um tempo para ver se o sistema está sendo executado lentamente. Às vezes, alguns programas demoram um pouco.
  • Execute outros psTools como psList ou psService para verificar se você tem acesso à máquina remota
  • Outra maneira de verificar se o computador de destino está acessível para a máquina local é abrir uma janela do Windows Explorer e digitar na barra de endereço: \targetcomputername\c$ . Isto deve dar-lhe acesso às pastas na drive C: do destino.
  • Executar cmd como administrador
  • Use as opções de nome de usuário e senha ( -u e -p ). Tente com sua conta normal e tente com sua conta de administrador (se você tiver uma).
  • A aceitação pode ser escrita como -accepteula e /accepteula - aparentemente, uma maneira de trabalhar com alguns sistemas, de certa forma, funciona com os outros.
  • Insira -accepteula duas vezes no seu comando, porque o primeiro é "engolido" algumas vezes e não é executado (de este post ).
  • Acesse a máquina de destino por meio de conexão remota ou trabalhe fisicamente nela e execute psExec em um prompt de comando para que você possa aceitar manualmente o Contrato de Licença que é exibido. ( accepteula é suposto fazer isso, mas aparentemente não funciona às vezes)
  • Execute manualmente o psExec no computador de destino para ver se a sua máquina é o problema.
  • Verifique se o compartilhamento admin$ está ativado, no computador de destino
  • Siga as instruções que forem apropriadas para a sua versão do Windows a partir da postagem de Karlchen nos fóruns da Sysinternals aqui , em seguida, execute as 3 linhas de código sugeridas.
  • Verifique se o firewall ou antivírus do alvo permite psExec.
  • Se conseguir, desligue o firewall e tente o comando novamente.
  • Experimente o comando com outro destino que tenha a mesma configuração de antivírus e firewall para ver se o firewall / antivírus é o problema.
  • Tente definir o UAC (controles de conta de usuário) para "nunca notificar" / off no computador de destino.
  • Tente armazenar suas credenciais em cache se precisar de credenciais diferentes de você mesmo (de postar )

A página de download do psExec, a FAQ e os fóruns do Sysinternals psExec são ótimos recursos.

Nenhuma destas ideias de resolução de problemas que escrevi aqui resolveu o meu problema, o que significa que existem mais ideias por aí. De que outra forma alguém poderia solucionar problemas do psExec para problemas simples como o meu (basta abrir um programa simples como a calculadora)?

    
por Alamb 08.03.2016 / 19:27

1 resposta

0

A) \ {targetmachine}. Em 2015, alteramos todos os nossos arquivos em lote * .bat para usar o IPAddress para {targetmachine} em vez de usar o ComputerName, o que eliminou o "enforcamento" ao invocar o PsExec. Em 2018, com toda a nova segurança contra vírus no lugar, descobrimos que usando o IPAddress está causando o bloqueio do PsExec por até 3 minutos. Então, mudamos os arquivos em lote de volta para o nome do computador.

B) -p {password}. Existem 6 de nós que usam regularmente os arquivos em lote que usam PsExec, e nossos arquivos em lote são personalizados para usar nosso UserName e PassWord. Após a nossa última atualização obrigatória de senha de três meses, percebemos que os usuários sem nenhum caractere especial em sua senha (por exemplo, @! ^ $) Não estavam mais passando por QUALQUER tempo de espera, enquanto que os com caracteres especiais estão experimentando o atraso de 20 segundos . (Isso é difícil de solucionar problemas, porque os usuários com caracteres especiais só experimentam o tempo de travamento de 20 segundos se os arquivos em lotes não foram invocados nos últimos 3 minutos. Se eles foram executados recentemente, o tempo de desligamento desaparece). / p>

C) Usando @ em qualquer arquivo em lote * .bat. Da mesma forma, descobrimos que o tempo de espera desaparece (independentemente de quanto tempo se passou desde que os arquivos em lote foram executados) se removemos o caractere "@" de qualquer arquivo em lote que chama ou é chamado pelo PsExec. Para aqueles que não estão familiarizados com a programação de arquivos * .bat, o caractere @ suprime a "ecoação" na tela, mesmo que o eco esteja definido como "ativado" no arquivo de lote.

D) Em Resumo: 2015 CODE

@echo off
@psexec \199.245.27.107 -u DomainName\UserName -p MyP@$$W*rd  cmd.exe /k c:\local_PsExec_commands.bat "%cd%" %1 %2

CÓDIGO 2018

echo off
psexec \TargetComputer -u DomainName\UserName -p MyPassWord  cmd.exe /k c:\local_PsExec_commands.bat "%cd%" %1 %2

Também removemos o caractere "@" de todos os arquivos "local_PsExec_commands.bat" nos computadores de destino.

    
por 26.04.2018 / 22:05

Tags