Como posso obter um prompt de comando como usuário do SYSTEM no Windows 7?
Contexto: estou testando um script de inicialização do computador e preciso descobrir o comportamento de um comando quando executado como SYSTEM, e não como minha conta de usuário.
Eu já vi maneiras de fazer isso com at
e psexec
, mas esses métodos parecem funcionar apenas no Windows XP ou no Windows Vista.
Estou usando o Windows 7 Pro SP1.
I've seen ways to do this with at and psexec, but those methods only appear to work on Windows XP or Windows 7. I'm using Windows 7 Pro SP1.
Um… ಠ_ ಠRespostas:
Isso foi solicitado no Stack Overflow . A resposta aceita usa PsExec (da suíte Systinternals ) como Scott sugeriu.
Outra solução envolve a criação de um serviço que é executado sob a conta do sistema para executar o interpretador de comandos. Você pode fazer isso manualmente ou usar um programa que cria os serviços, executa o prompt e exclui o serviço automaticamente. Eu apenas tentei e funcionou um tratamento:
fonte
Use PsExec do pacote Systinternals da Microsoft . O PsExec deve ser executado em um prompt de comando administrativo. Use as
-i -s
opções para iniciar seu script / prompt de comando.fonte
Access is denied.
"Eu seria muito cuidadoso ao fazer isso. SYSTEM é a conta de administrador, mas muito, muito mais perigosa, pois possui um nível de acesso mais alto.
Geralmente, seu SYSTEM é o serviço de conta executado, não um perfil interativo. Existem maneiras de fazer isso, no entanto.
Lendo isso , acho que temos uma boa abordagem:
verá o nome da conta em que efetuou login.)
no prompt de comando, crie um agendamento para executar o cmd.exe.
Para criar uma programação, digite a seguinte linha e pressione Enter.
às 10:41 / interativo “cmd.exe”,
isso criará uma programação para executar o cmd.exe às 10:41.
(Como você está testando, verifique o horário no seu sistema, tente adicionar dois ou três minutos.) Altere esse horário de acordo com o horário local
Dica: você pode verificar se o agendamento foi feito digitando “ at ”
e pressionando enter após os itens acima. degrau.
O cmd.exe seria iniciado no horário especificado.
Selecione a guia "Processo", selecione explorer.exe na lista de processos e clique no botão " Finalizar processo ".
Você receberá um diálogo de confirmação. Clique em "Sim" para finalizar o processo.
Feche a primeira janela do cmd (tenha cuidado para fechar a primeira e não a segunda).
No prompt de comando, digite a seguinte linha e pressione o botão “Enter”
.
explorer.exe
Se for a primeira vez que você faz isso, o Windows cria os
componentes necessários para acessar o Sistema (Área de Trabalho, menu Iniciar,
Meu documento)
quando terminar, você terá uma nova área de trabalho.
Foi alterado para Sistema.
Agora você é um usuário superpotente. Cuidado para não danificar o seu PC e excluir ou modificar os arquivos do sistema se você não souber o que está fazendo.
A outra opção seria executar seu script como um serviço.
fonte
at
não funciona no Windows 7.at
roda na minha máquina Windows 7. O que não funciona para você?Também existe uma abordagem um pouco mais hacky, que envolve basicamente substituir o cmd.exe no lugar do Utilman.exe em \ Windows \ System32 (que obviamente exigiria um backup). Você precisaria fazer isso fora do Windows atualmente em execução de antemão (por exemplo, no Linux ou através de um CD de instalação / recuperação). Aqui está um exemplo de script para usar (via Windows):
Depois de fazer isso, inicialize no Windows normal e pressione a tecla Windows + U e, em vez de abrir um conjunto de utilitários para ajudar na acessibilidade, etc., ele exibirá um prompt de comando no nível do sistema com todas as ferramentas disponíveis do seu sistema .
fonte
System32
, abrir propriedades deUtilMan.exe
, obter todos os privilégios e propriedade e executar as etapas a seguir.