Prompt de comando como usuário do SYSTEM (Windows 7)


10

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 ate psexec, mas esses métodos parecem funcionar apenas no Windows XP ou no Windows Vista.

Estou usando o Windows 7 Pro SP1.


1
SISTEMA é geralmente os serviços de usuário são executados em, não uma conta interativa ...
Austin T franceses

1
Talvez eu esteja entendendo mal alguma coisa. Aqui está o objetivo: tenho um script que pretendo implantar em nossa organização por meio da Diretiva de Grupo. Mesmo que o script deva estar funcionando, não está.
stephenwade

1
O script será executado como um script de inicialização do computador, que eu acho que é executado como SYSTEM; portanto, quero um prompt de comando como sistema para testar meu script. Estou correto que os scripts de inicialização sejam executados como SYSTEM? Em caso afirmativo, qual é a melhor maneira de testar meu script?
stephenwade

1
Um script de inicialização do computador na Diretiva de Grupo.
stephenwade

1
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… ಠ_ ಠ
Synetech 01/07

Respostas:


3

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:

Captura de tela do Gerenciador de tarefas com o CMD em execução como sistema


9

Use PsExec do pacote Systinternals da Microsoft . O PsExec deve ser executado em um prompt de comando administrativo. Use as -i -sopções para iniciar seu script / prompt de comando.

Digite a descrição da imagem aqui


1
Mesmo no prompt de um comando de administrador, eu recebo a mensagem " Access is denied."
stephenwade

@stephenwade Como você está recebendo o prompt de comando do administrador, está clicando com o botão direito do mouse e executando "Executar como Administrador"? Diz "Administrador: Prompt de Comando" no bloco quando a janela é aberta antes de iniciar o PsExec? Além disso, você está tentando apontar para um arquivo de rede para executar, o token para conectar-se ao compartilhamento remoto é perdido durante o processo de elevação.
21413 Scott Schammer

Sim, cliquei com o botão direito do mouse em Prompt de Comando no menu Iniciar e cliquei em "Executar como Administrador".
stephenwade

1
Estou executando o psexec a partir de uma pasta de rede vinculada à unidade H: Esse pode ser o problema?
stephenwade

1
@stephenwade sim, quando você eleva, perde suas unidades de rede (porque elas estão vinculadas à conta do usuário e você está alterando as contas de usuário), copie o local e ele funcionará.
Scott Chamberlain

1

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:

  1. Verifique o nome da conta na qual você efetuou login (clique em Iniciar. Você
    verá o nome da conta em que efetuou login.)
  2. Inicie o prompt de comando. (Iniciar | Executar | cmd | [Enter])
    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.
  3. Aguarde o tempo definido para a programação.
    O cmd.exe seria iniciado no horário especificado.
  4. Depois que o cmd.exe for iniciado no horário agendado, pressione [CTRL] + [ALT] + [DEL] e inicie o gerenciador de tarefas.
    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.
  5. Feche o gerenciador de tarefas clicando no botão Fechar (X).
    Feche a primeira janela do cmd (tenha cuidado para fechar a primeira e não a segunda).
  6. Agora você tem apenas a segunda janela do prompt de comando e uma área de trabalho vazia.
    No prompt de comando, digite a seguinte linha e pressione o botão “Enter”
    .
  7. No prompt de comando, digite a seguinte linha e pressione “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.
  8. Feche a janela do prompt de comando. Clique em Iniciar e verifique seu nome de usuário.
    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.


2
atnão funciona no Windows 7.
stephenwade

1
atroda na minha máquina Windows 7. O que não funciona para você?
uSlackr

3
Aqui está outra maneira (mais rápida?) De finalizar o processo do Explorer no Windows 7: Clique em Iniciar. Mova o mouse para o lado direito do menu (onde “Run” e “Logoff” estão). (Ctrl) + (Shift) + (clique com o botão direito do mouse); clique em "Sair do Explorer".
19413 Scott

2
C: \ Windows \ system32> às 23:56 / Interactive "cmd.exe" Aviso: Devido aos aprimoramentos de segurança, esta tarefa será executada no horário esperado, mas não de maneira interativa. Use o utilitário schtasks.exe se uma tarefa interativa for necessária ('schtasks /?' Para obter detalhes). Foi
Dagelf

1

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):

cd "%SystemRoot%\System32"
ren Utilman.exe Utilman.exe.bak
robocopy cmd.exe Utilman.exe /copyall

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 .


Também é possível fazê-lo dentro do Windows, sem discos, mesmo sem reiniciá-lo. Basta ir em System32, abrir propriedades de UtilMan.exe, obter todos os privilégios e propriedade e executar as etapas a seguir.
Jet

Isso é útil se você não pode fazer o login a um sistema e só começar a tela de login
Vitas
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.