O PowerShell executa programas com argumentos como usuários diferentes


1

Eu estou tentando criar um script simples (ou assim eu pensei) na inicialização para minha máquina de trabalho.

Para isso eu preciso abrir principalmente

IE Firefox como usuário logado Firefox como usuário Admin Outlook como perfil principal

Estou procurando fazer isso com o Powershell - todas as idéias sobre como obter a execução como usuário administrador do Firefox, já que consegui fazer o resto funcionar.


Você precisa mostrar seu código existente se quiser alguma ajuda.
precisa

Eu tenho usado os atalhos da melhor maneira possível, usando o comando Runas. Por exemplo, 'code' "C: \ Arquivos de programas \ Mozilla Firefox \ firefox.exe" -não remoto e C: \ Windows \ System32 \ runas.exe / usuário: Domain \ User2 "C: \ Arquivos de Programas \ Mozilla Firefox \ firefox.exe -no-remote" 'code'
GettingMyHeadAroundPSScripting

Você pode configurar um atalho para usar Runas por padrão nas Propriedades avançadas.
precisa

Eu consegui criar um atalho para fazer isso - estava ok para quando eu precisava abrir apenas 1 item, mas agora estou procurando ter 3 instâncias do Firefox abertas ao mesmo tempo (todos como usuários diferentes), mas não consigo parâmetro -remote para funcionar também
GettingMyHeadAroundPSScripting

Respostas:


1

Você precisa criar um objeto de credenciais com os devidos, e depois executar o aplicativo que deseja com o seguinte:

$username = "username"
$password = "password"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))

Start-Process filefullpath.exe -WorkingDirectory path_here -Credential ($credentials)

Entendi daqui .


Tenho vindo a utilizar o acima, mas não pode empurrar o parâmetro "não-remoto" junto com isso também
GettingMyHeadAroundPSScripting

O que é "não remoto"? não consegui encontrar nada sobre isso.
EliadTech

Sem-Remote é o parâmetro Firefox que obriga cada nova instância do firefox para abrir como um processo separado - caso contrário você abrir o Firefox com User1 tente abri-lo com user2 e ele simplesmente abre uma nova janela como User1
GettingMyHeadAroundPSScripting

Em seguida, basta adicioná-lo ao "start-process" com "-ArgumentList". Não posso testar no momento, tentarei hoje mais tarde.
EliadTech

Eu tenho tentado isso ainda Quando eu executá-lo Tudo o que vejo acontecer é que uma nova aba na janela atual aparece - onde este deve forçar uma nova janela para aparecer em vez
GettingMyHeadAroundPSScripting

-1

Meu script é o seguinte

Isso seria executado por DOMAIN \ User1

$username1 = "Domain\user2"
$username2 = "Domain\User1_adm"
$password = "Passw0rd!"
$credentials1 = New-Object System.Management.Automation.PSCredential -ArgumentList    @($username1,(ConvertTo-SecureString -String $password -AsPlainText -Force))
$credentials2 = New-Object System.Management.Automation.PSCredential -ArgumentList @($username2,(ConvertTo-SecureString -String $password -AsPlainText -Force))
$Args1 = "-no-remote"
$Args2 = "no-merge"

Start-Process "C:\Program Files\Mozilla Firefox\firefox.exe" -ArgumentList $Args1 -Credential ($credentials1)
Start-Process "C:\Program Files\Mozilla Firefox\firefox.exe" -ArgumentList $Args1 -Credential ($credentials2)
Start-Process "C:\Program Files\Mozilla Firefox\firefox.exe"
Start-Process "iexplore.exe" -ArgumentList $Args2 -Credential ($credentials1)
Start-Process "iexplore.exe" -ArgumentList $Args2 -Credential ($credentials2)
Start-Process "iexplore.exe" -ArgumentList $Args2
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.