Запустить скрипт от имени администратора, но показать информацию о текущем вошедшем пользователе

Я обычно запускаю скрипты в качестве администратора домена, который занимает некоторое время, чтобы закончить то, что они делают. например, удалите одну версию Office и установите другую.

эти сценарии (powershell и bat в основном), как я уже упоминал ранее, запускаются от имени администратора в другом сеансе пользователя, чем пользователь, вошедший в систему.

есть ли способ показать информацию, через этот скрипт, пользователю, который в настоящее время вошел в систему?

в любой форме или форме, которая не слишком отвлекающий, например, я предпочел бы окно сообщения, воздушный шар лотка и т. д.

свои данные мне неизвестны.

Msg.exe в то время как делает передачу информации, я искал что-то более интерактивным, если это возможно.

6
задан Sonamor
15.05.2023 12:24 Количество просмотров материала 3072
Распечатать страницу

2 ответа

Это хорошее приложение для msg утилиты. Всплывающее окно с сообщением " я сделал это!"в текущем интерактивном сеансе используйте следующую команду:

msg console I did the thing!

вы также можете сделать окно сообщения автоматически исчезают через указанное количество секунд с помощью /time переключатель. Например, это сообщение будет отображаться только в течение десяти секунд:

msg console /time:10 This message will self-destruct in 10 seconds.
1
отвечен Ben N 2023-05-16 20:12

вы можете использовать эту функцию для физического входа пользователя в консоль. У меня есть несколько приложений, где это необходимо.

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
}

ссылки: Введите описание ссылки

0
отвечен discorallado 2023-05-16 22:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх