Usando runas para executar netsh como administrador

Usando runas para executar netsh como administrador

Estou tentando fazer alguma depuração para um fornecedor em uma máquina com Windows 7. Preciso executar netshpara definir um parâmetro. Tentei executá-lo a partir de uma janela cygwin/shell, mas obtive uma falha "Executar como administrador".

Pesquisando no Google, vejo que há um runascomando que parece funcionar como sudo. Como minha conta de usuário ( me) é administrador, tento runas /user:me "netsh ..." receber uma solicitação de mesenha de '; Eu entro; netsh(presumivelmente em execução em uma nova cmdjanela) pisca aberto e fechado; e obtenho um retorno bem-sucedido do comando (ou seja, $? == 0).

Mas aparentemente isso não é bom o suficiente, já que o parâmetro permaneceu inalterado. Finalmente resolvi isso executando "executar como administrador" em um atalho para o shell (e depois executei netshnormalmente).

Qual é o truque para fazer o Windows runasperceber que merealmente é um administrador?

Responder1

Há uma diferença entre estar conectado a uma conta que faz parte do grupo de administradores e executar (a) elevado ou (b) como a conta interna de Administrador.

Sempre que você executa como Administrador, você está sempre elevado – por definição. Portanto, se run /user:administratoressa janela for elevada ao abrir, você NÃO receberá um prompt do UAC e o netshcomando deverá ser executado.

Mas como a conta interna do Administrador sempre é elevada e não gera prompts do UAC runas, é um risco de segurança, especialmente se não tiver uma senha. É por issoA Microsoft desativa a conta de administrador por padrãoe requer que você o habilite primeiro:

No Windows® 7, a conta de administrador integrada está desabilitada por padrão. Nas versões anteriores do Windows, uma conta de administrador era criada automaticamente durante a experiência inicial (OOBE) com uma senha em branco.

Uma conta de administrador com uma senha em branco é um risco à segurança. Para proteger melhor o sistema, a conta interna do Administrador está desabilitada por padrão em todas as instalações limpas e atualizações do Windows 7.

Veja como você o habilita. (Você pode abrir o MMC digitando "mmc" na caixa "Executar..." no menu Iniciar.)

Altere as propriedades da conta Administrador usando o Console de Gerenciamento Microsoft (MMC) de Usuários e Grupos Locais.

  1. Abra o console MMC e selecione Usuários e grupos locais.
  2. Clique com o botão direito na conta Administrador e selecione Propriedades.
  3. A janela Propriedades do administrador é exibida.
  4. Na guia Geral, desmarque a caixa de seleção Conta desativada.
  5. Feche o console MMC.

Além disso, esteja ciente de que runasNÃO permite que você passe argumentos para o programa que você executa:

RUNAS USAGE:

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
        /user:<UserName> program

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
        /smartcard [/user:<UserName>] program

RUNAS /trustlevel:<TrustLevel> program

Se você quiser executar um comando elevado sob seu próprio ID de usuário ou se quiser passar argumentos, você precisa de um sudoou genuíno su(comoEste, parte da minhaConcha Hamilton C:) com um interlúdiomarcado no manifesto do aplicativocomo exigindo elevação. Se você fizer dessa forma, verá um prompt do UAC.

informação relacionada