Сценарий входа в Powershell, возможно ли показать диалог пользователю или прочитать какой-либо пользовательский ввод? - PullRequest
3 голосов
/ 08 ноября 2011

Так возможно ли это?

Мне нужно получить учетные данные пользователя для сопоставления определенного сетевого ресурса. Этот ресурс не является частью нашего домена, и у каждого пользователя разные учетные данные.

EDIT

Скрипт работает нормально, если я запускаю его из консоли powershell. Проблема в том, что он не показывает никаких подсказок или диалогов, когда я использую его в качестве сценария входа. Когда я захожу на рабочий стол, сценарий запускается, потому что он записывает журнал отладки, но не показывает никакого диалога или приглашения пользователя для ввода.

Ответы [ 4 ]

5 голосов
/ 17 ноября 2011

В вашем GPO включите следующую настройку: «Запустить видимые сценарии входа» , чтобы убедиться, что сценарий входа в систему виден. Вы можете найти его в Конфигурация пользователя \ Административные шаблоны \ Система \ Скрипты

3 голосов
/ 08 ноября 2011

PowerShell имеет командлет Get-Credential, который можно использовать для запроса имени пользователя / пароля. Для деталей и примеров сделайте Get-Help Get-Credential -Full в PowerShell.

1 голос
/ 09 ноября 2011

Это сработало для меня.Это действительно показывало приглашение.Ниже приведен мой сценарий:

"test" | out-file -append C:\test.log
$cred = get-credential
$cred.username | out-file -append C:\test.log

Настройка сценария входа в систему:

gpedit.msc -> Конфигурация пользователя -> Настройки Windows -> Сценарии -> Вход в систему -> Выбрать сценарии Powershellвкладка -> Добавить и ввести путь к скрипту

Снимок экрана:

enter image description here

0 голосов
/ 20 ноября 2011

Я никогда не настраивал GP для запуска сценариев входа в систему, поэтому я не уверен в этом ... Если вы запустите произвольный CMD, такой как ipconfig, появится ли окно консоли, как вы надеетесь, PowerShell?

Если это так, вместо использования встроенного механизма сценариев PowerShell вы можете вызвать строку CMD или .bat, которые затем вызывают сценарий PowerShell: powershell.exe -noexit -command "& 'path \ to \ logonscript.ps1'"

...