Por que executar o script Powershell linha por linha funciona, mas o mesmo através do arquivo de script de execução - não funciona?

0

No Windows 7 Prof, executando no Windows Powershell_ISE (como administrador) o comando Powershell (versão 3) produz o resultado esperado (de adicionar um usuário de domínio ao grupo de Administradores local / máquina), mas o inicia a partir de um arquivo .ps1 de script pasta C:\Users\myDomainUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup não!

$objGroup = [ADSI]("WinNT://myComputerName/Администраторы")'Administrators in Russian
$objUser = [ADSI]("WinNT://myDomainName/myDomainUser")
$objGroup.PSBase.Invoke("Add", $objUser.PSBase.Path)

Por quê?
Como adicionar melhor um usuário de domínio ao grupo de administradores locais na reinicialização do Windows 7?

    
por Fulproof 28.11.2013 / 04:29

2 respostas

2

Por motivos de segurança, (e além disso, a política de execução de scripts), a Microsoft definiu arquivos .ps1 para abrir usando o bloco de notas. (Silly Microsoft.) Tarefas agendadas podem ser uma solução melhor, mas se você quiser iniciar o script a partir da pasta de inicialização, eu recomendaria colocar um atalho para o script na inicialização e armazenar o script em outro lugar. Eu uso atalhos semelhantes a este: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file "C:\Scripts\Powershell\Tool.ps1"

Se você usar essa sintaxe, observe que qualquer opção adicional que você queira passar para o PowerShell deve ser feita antes da opção -file. Qualquer coisa após o arquivo é interpretado como o caminho para o script ou uma opção / argumento a ser passada para o script.

    
por 02.12.2013 / 21:18
1

Você pode querer tentar executá-lo usando o agendador de tarefas.

Inicie o agendador de tarefas (menu Iniciar, todos os programas, acessórios, ferramentas do sistema, agendador de tarefas). No painel à direita, selecione "criar tarefa". Digite um nome para a tarefa. Mude o usuário se você quiser. Selecione "executar com privilégios mais altos". Na guia de gatilhos, crie um gatilho para "no logon" ou "na inicialização", dependendo do que você deseja. Na guia de ações, crie uma nova ação que aponte para o script.

    
por 28.11.2013 / 05:30