Итак, я написал следующий код и бросил его в небольшой bat-файл, чтобы протестировать ядро, которое вы пытаетесь достичь.
powershell.exe -executionpolicy bypass -windowstyle hidden -noprofile -command "Add-Type -AssemblyName System.Windows.Forms; Add-Type -AssemblyName PresentationFramework;get-credential;start-sleep 10"
Если у вас есть -windowstyle hidden
, сценарий не будет выполнен, потому что Get-Credential
не вызовет всплывающее окно с запросом ваших учетных данных и просто выйдет (или, возможно, он запускается, но не имеет учетных данных).
Как только вы удалите -windowstyle hidden
, сценарий запустится, создайте всплывающее окно, чтобы получить учетные данные, затем повесьте на 10 секунд перед закрытием.
Я также добавил [System.Windows.Forms.Application]::EnableVisualStyles()
, но это ничего не изменило.
Если вы не введете имя пользователя и пароль для Get-Credential
, появится всплывающее окно. Поскольку вы настаиваете на том, чтобы он был скрытым, вам придется вручную запрашивать у пользователя имя пользователя и пароль или использовать дополнительную учетную запись с ограниченными разрешениями. Альтернативой может быть использование всплывающей оконной формы для запроса имени пользователя и пароля, а затем использование их для генерации учетных данных, а не Get-Credential
Без дополнительной информации о вашем коде и о том, чего вы пытаетесь достичь с помощью учетных данных, вам уже невозможно помочь. Вы всегда можете очистить свой код, чтобы удалить ссылки на пользователей, серверы и другую конфиденциальную информацию. Если вам нужна надлежащая помощь, вы должны быть готовы поделиться тем, что вы сделали.