Usando o PowerShell, acho que isso deve funcionar, embora eu não tenha testado isso por motivos óbvios. Sugiro criar uma conta de administrador do Exchange, adicioná-lo ao grupo de administração local do servidor do Exchange. Conceda a essa conta permissões completas no AD sobre em si (não tenho certeza se a conta de usuário por padrão é capaz de desabilitar a si própria). Em seguida, salve o script do PowerShell abaixo na rede e coloque um arquivo CMD de atalho na área de trabalho de quem quer que o execute. Mostre a eles como usar o recurso "Executar como um usuário diferente" (segure o shift ao clicar com o botão direito). O arquivo CMD precisa apenas de:
powershell \\ server \ share \ script.ps1
O script do PowerShell pode ser bem curto:
# Stop the service
(get-wmiobject win32_service -filter "name='Spooler'" -computername ComputerName).StopService()
# check service status
# Add a While loop if needed
(get-wmiobject -query "select * from win32_service where name='Spooler'" -computername ComputerName).state # this will return the state of the named service
restart-computer -computername ExchangeServerName
# Import ActiveDirectory module
Import-Module active*
# disable the account
# substitute $username with the newly created account
# or perhaps with $env:USERNAME using RunAs might work right...
set-user $username -Enabled $false
O (s) usuário (s) pode (m) ter a senha uma vez que este script seja executado, ele desativará a conta até que você ou um usuário com as credenciais apropriadas possa reativá-la.
Além disso, por motivos de segurança, convém incluir essa nova conta na política para evitar que ela faça logon interativamente ou de outra forma. Em um GPO aplicado a [talvez todas as estações de trabalho e servidor]: Configuração do Computador \ Configurações do Windows \ Configurações de Segurança \ Diretivas Locais \ Atribuição de Direitos do Usuário \ Negar logon localmente e Negar logon pela Área de Trabalho Remota Serviços