Processo de inicialização automática do Windows XP como administrador

3

Estou procurando uma maneira com a qual eu possa iniciar automaticamente um determinado programa no logon de um usuário com direitos de usuário com direitos de administrador.

Eu já tentei usar o agendador de tarefas, mas não deu certo porque você digitou um nome de usuário com format machine \ user e nosso sistema pxe-image-deployment corrige automaticamente os nomes das máquinas para que o domínio \ user inserido pare de funcionar .

UPDATE :
O comando runas.exe também não parece apropriado para essa tarefa. Se estiver usando / user: machinename \ Administrator / savcred, ele é inválido após a geração de imagens. O que um usuário sugeriu estava usando. \ Administrador ou localhost \ Administrator, mas ambos não funcionavam nas minhas máquinas XP SP3.


UPDATE2 :
No programa que preciso executar esta função está se acostumando:

    [DllImport("user32.dll")]
    public static extern int ExitWindowsEx(int uFlags, int dwReserved);

ao usar os programas sugeridos por Alan Kuras, esta função está falhando, o que não é uma opção para mim.

UPDATE3 :
Sim! Eu entendi, eu acho! Parece que você não pode usar o ExitWindowsEx quando executado em outro contexto de usuários.
eu simplesmente mudei minha aplicação para WTSLogoffSession e agora está funcionando!

    
por Zulakis 19.06.2012 / 20:30

6 respostas

1

Se você tiver problemas para realizar essa tarefa usando funções internas devido ao seu sistema de implementação, há uma solução, que funciona para muitas outras coisas, como enviar um programa para alguém que pode ser executado como Administrador sem saber uma senha.

Basicamente Você precisa criar um programa que contenha a senha do administrador e pode obter direitos especificados em execução como outro usuário. Existem vários programas que me vêm à cabeça:

Esses programas podem criptografar seu script, nome de usuário e senha e são executados automaticamente como administrador local no ambiente do usuário.

Alternativamente, se você conhece alguma linguagem de programação Você pode escrever para si mesmo. Apenas leia sobre representar (por exemplo, em C # )

Editar 2: Segunda coisa que vem à minha mente. Se você tiver problemas para obter nome_do_computador Você pode tentar usar a variável% COMPUTERNAME% como% COMPUTERNAME% \ Administrator e verificar se isso funciona.

    
por 21.06.2012 / 09:24
2

Eu resolvi isso usando um programa alternativo de runas, CPAU .

    
por 22.06.2012 / 16:55
1

É um método "around the bush", mas quando usamos máquinas de imagens usando o Clonezilla PXE, tivemos um arquivo de lote na pasta "Startup" do XP que seria iniciado no primeiro login. O arquivo em lotes adicionaria 4 ou 5 tarefas agendadas e, em seguida, excluiria a si mesmo.

Você pode usar "SCHTASKS / Create" para adicionar uma tarefa. Aqui está um exemplo se você estiver interessado em usar este método.

SCHTASKS /Create /RU username /RP password /SC hourly /D * /M * /TN taskname /TR C:\folder\process.bat /ST 12:00 /SD 06/20/2012 /F

SCHTASKS / Criar /? fornecerá as informações de ajuda.

    
por 19.06.2012 / 16:18
1

Fácil. Como o msindle sugeriu, você vai querer colocar o atalho na pasta de inicialização, mas se ele precisar ser executado como administrador, você terá que a) fornecer as credenciais de administrador na primeira vez que for executado, eb) usar algum comando comutadores de linha. Por exemplo, a seguir é como eu executo o ADUC como um administrador de domínio, enquanto faço logon na minha máquina como um usuário limitado. (Campo "Destino" do atalho).

%windir%\system32\runas.exe  /user:domain\adminuser /savcred "mmc %windir%\system32\dsa.msc"

Primeiro bit chamadas runas.exe, que é o que permite executar um programa como um usuário diferente no XP, / user especifica o usuário (se você quiser uma conta local, usuário o nome da máquina em vez do nome do domínio), / O savcred permite que as credenciais sejam salvas (depois de inseridas uma vez), e o último bit é o programa que está sendo chamado - Console de Gerenciamento da Microsoft com o snap-in dsa (ADUC).

EDITAR:

Eu também tive sucesso com:

%windir%\system32\runas.exe /user:.\username /savcred "mmc %windir%\system32\dsa.msc"

e:

%windir%\system32\runas.exe /user:localhost\username /savcred "mmc %windir%\system32\dsa.msc"

Mas, de acordo com os comentários abaixo, isso pode não ser um comportamento normal.

    
por 19.06.2012 / 21:33
0

Isso funciona para mim:

no campo de destino do atalho que executa seu programa, adicione texto em negrito como abaixo C: \ WINDOWS \ system32 \ runas.exe / usuário: Nome de usuário / savcred "program_path \ program_name.exe"

p.s. verifique o caminho do seu sistema Windows também!

O nome de usuário deve ser aquele nome de usuário em cuja conta o program_name.exe foi instalado

    
por 05.04.2013 / 22:44
-1

Você pode colocar um atalho para o programa na pasta de inicialização All Users e conceder aos usuários do domínio direitos para o diretório de instalação desse programa? Se isso não for uma opção, tente fazer isso: link

É para o Win 7, mas imagino que o XP tenha a mesma funcionalidade.

    
por 19.06.2012 / 20:36