Execute o script como admin, mas mostre informações sobre o usuário logado atual

1

Normalmente, estou executando scripts como administrador em um domínio que demora um pouco para concluir o que eles estão fazendo. por exemplo. Desinstale uma versão do Office e instale outra.

Esses scripts (principalmente powershell e bat) como mencionei antes, são executados como admin em uma sessão de usuário diferente do usuário atualmente conectado.

Existe uma maneira de exibir informações, através desse script, para o usuário atualmente conectado?

Em qualquer forma ou forma que não seja muito distrativa, por exemplo Eu preferiria uma caixa de mensagem, um balão de bandeja, etc.

Suas credenciais são desconhecidas para mim.

Msg.exe enquanto transfere informações, eu estava procurando por algo mais interativo, se possível.

    
por Sonamor 07.09.2018 / 10:55

2 respostas

1

Esta é uma boa aplicação para o utilitário msg . Para abrir uma caixa de mensagem dizendo "Eu fiz a coisa!" na sessão interativa atual, use este comando:

msg console I did the thing!

Você também pode fazer com que a caixa de mensagem desapareça automaticamente após um determinado número de segundos, usando a opção /time . Por exemplo, esta mensagem permanecerá por apenas dez segundos:

msg console /time:10 This message will self-destruct in 10 seconds.
    
por 12.09.2018 / 00:45
0

Você pode utilizar essa função para colocar o usuário fisicamente logado no console. Eu tenho alguns aplicativos onde isso é necessário.

Function CurrentUser{
#CurrentUser function converts the username object string "@{username=domain\user}" 
#         to the exact logon string "user" like the example below
#@{username=DOMAIN\USER}
#@{username DOMAIN\USER}
#DOMAIN\USER}
#DOMAIN\USER
#DOMAIN USER
#USER
$loggedInUserName = get-wmiobject win32_computersystem | select username
$loggedInUserName = [string]$loggedInUserName
$loggedinUsername = $loggedInUserName.Split("=")
$loggedInUserName = $loggedInUserName[1]
$loggedInUserName = $loggedInUserName.Split("}")
$loggedInUserName = $loggedInUserName[0]
$loggedInUserName = $loggedInUserName.Split("\")
$loggedInUserName = $loggedInUserName[1]
Return $loggedInUserName
}

Referência: insira a descrição do link aqui

    
por 13.09.2018 / 17:31