Altere as permissões do grupo do Windows sem os direitos suficientes em um lote

2

Eu escrevi um arquivo de lote, que cria várias pastas e subpastas no diretório atual. A permissão de grupo de uma pasta também é alterada. Isso funciona na minha estação de trabalho local com privilégios de administrador, mas não funciona no servidor, porque não tenho direitos suficientes.

Esse lote também deve ser usado por outros usuários não administradores, que não têm o direito de alterar as permissões de pastas, e não é uma opção dar a eles esse direito.

Depois de ler este comentário , a solução parece ser óbvia:

  1. Escreva um VBScript, que altera a permissão de uma determinada pasta (folder-name é o argumento)
  2. Execute o VBScript como serviço do Windows (executado como administrador)
  3. E altere o lote para que o Serviço do Windows seja chamado (passando a pasta como argumento)

Minhas perguntas são: Como o lote pode enviar um comando para o serviço do windows? E de que maneira o serviço deve ser implementado, para receber este comando e processá-lo?

    
por Christian 19.05.2012 / 18:06

2 respostas

0

Você pode verificar RunAsService , que deve ser capaz de iniciar um ou mais aplicativos como um serviço do Windows.

Você pode querer verificar também este .

    
por 19.05.2012 / 19:10
0

O comando sc start permite que você especifique as opções que serão passadas para os serviços ServiceMain função.

Eu não sei de improviso se qualquer uma das soluções existentes "executar uma aplicação como serviço" irá passar esses argumentos para a aplicação, mas não deve ser muito difícil de implementar.

Certifique-se de validar o nome da pasta com cuidado. Você não quer que alguém possa redefinir as permissões em c:\folders\..\windows\system32 , por exemplo.

    
por 21.05.2012 / 01:56