Eu só tenho uma conta na minha máquina Windows Vista e esse usuário tem privilégios administrativos. No entanto, quando tento executar um comando no PowerShell para encerrar um determinado processo, sou recebido com uma mensagem "Acesso negado". Como me torno o administrador?
A maneira do Powershell v2, de acordo com a Microsoft , é clicar com o botão direito do mouse no atalho e escolher Executar como administrador .
E para elevar dentro de uma janela do Powershell:
Que de um arquivo de lote cmd.exe, atalho ou linha Executar seria algo (repetidamente) assim:
A maneira mais fácil de fazer isso é iniciar o Powershell com tokens de administração. Para fazer isso, clique com o botão direito do mouse no Powershell (ou um atalho para ele) e clique em "executar como administrador". Alternativamente, você pode usar elevate.cmd .
Isso abre uma nova instância do powershell:
Espero que haja problemas com isso - em particular, você não receberá a saída do seu scriptblock de volta no script de chamada. Por outro lado, ele estará lá na nova instância PS para que você possa hackear com ele lá.
Você pode usar isso para auto-elevar um script quando executado:
NB, isso ainda adere às regras de segurança (como política de execução) e solicitará o UAC. Isso pode ser contornado, mas você não deve.
Se você deseja sempre executar o PowerShell com privilégios de administrador, clique com o botão direito do mouse no atalho do PowerShell, clique no botão "Avançado..." na guia "Atalho" e selecione "Executar como administrador".
O caminho fácil...
Veja como configurar um comando fácil para obter privilégios de administrador a qualquer momento, em qualquer sessão do PowerShell!
Etapa 1: abra seu perfil do PowerShell. (Permita que o bloco de notas crie o arquivo se estiver faltando.)
Etapa 2: cole uma das seguintes linhas de código em qualquer lugar desse arquivo. Escolha um comando abaixo com base na versão do PowerShell que você deseja executar e observe que o perfil é específico da versão, portanto, você deve fazer isso para cada um dos diferentes perfis de versão do PowerShell se executá-los em paralelo.
Etapa 3: reinicie o PowerShell. O comando agora está permanentemente disponível.
Etapa 4: Sempre que você quiser se tornar administrador, basta digitar
GoAdmin
(e não se preocupe em digitar o caso correto; as funções PS não diferenciam maiúsculas de minúsculas). É claro que você pode nomear a função de outra formaElevate
ou qualquer outra coisa, mas eu não queria nenhum risco de conflitos, então chamei-a de uma frase de duas palavras sem hífens, para garantir que ela nunca entre em conflito com os próprios recursos do PowerShell.Observe que a janela do administrador é aberta em um shell separado. Você pode fechar o shell original ou mantê-lo aberto. Se o seu trabalho de administrador faz algo "grande", como adicionar/modificar variáveis de ambiente, seu shell de usuário (não-administrador) pode simplesmente digitar
refreshenv
para recarregar seu ambiente e obter as alterações. (Edit: Descoberto querefreshenv
é fornecido pelo ótimo gerenciador de pacotes ChocolateyUpdate-SessionEnvironment
. Digite em vez disso se você não tiver Chocolatey.)Então, basicamente, apenas
GoAdmin
faça as coisas de administração, como instalar pacotes (com https://chocolatey.org/ é claro!), e depois feche a janela de administração e executerefreshenv
em seu shell de usuário! Voilá.