Как заставить Windows 'runas.exe принимать пароль от диспетчера учетных данных без запроса? - PullRequest
0 голосов
/ 13 мая 2019

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

cd C:\code\Kodex-1.4.3\EPD_Prerequisite\Anaconda2\
$line1 = "cd C:\Code\EPMD\Kodex-1.4.4\Applications\Bin\EpmdTaskManager"
$line2 = "start EpmdTaskManagerGui.exe hide"
$line1 | out-file auto1.bat -Encoding Ascii
$line2 | Out-File -append auto1.bat -Encoding Ascii
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\matanv.HOBART\Desktop\Kodex 1.4.4.lnk")

$Shortcut.TargetPath = """C:\WINDOWS\system32\runas.exe"""
$argA = "/user:%computername%\Admin /savecred"

$argB = """C:\code\Kodex-1.4.3\EPD_Prerequisite\Anaconda2\auto.bat"""
$Shortcut.Arguments = $argA + " " + $argB
$Shortcut.Save() 

Это работает нормально, с одной проблемой: при первом запуске скрипта мне предлагается пароль.

Я хочу, чтобы пароль никогда не запрашивался и сохранял его в диспетчере учетных данных, используя какой-то (возможно, другой) скрипт.

Как это можно сделать?

Спасибо

1 Ответ

1 голос
/ 14 мая 2019

Переход от комментария к здесь для OP

Вот что нужно иметь в виду с этим спасброском. Это действительно опасно, в зависимости от того, где вы его используете. Как только вы это сделаете, как вы уже заметили, AL вам нужно будет передать имя учетной записи и никогда не получать подсказки, а это значит, что любой человек, обладающий даже самыми простыми навыками, может подойти и захватить эту машину, даже если вы удалите ярлык, который его запустил, эти кредиты всегда действительны, и однажды можно создать любой ярлык, установить свойства, и они будут недоступны для гонок.

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

В любом случае, вы получаете кредиты в CredMan без использования RunAs / SaveCred, да, даже с PowerShell. Многие сценарии онлайн, чтобы показать вам, как, даже те, прямо из галереи TechNet Powershell и MS powershellgallery.com.

Как добавить учетные данные в хранилище Windows (PowerShell)

Этот сценарий PowerShell показывает, как добавлять учетные данные для определенных пользователей.

Загрузить: addwindowsCredential.zip

CredentialManager 2.0

С powershellgallery.com, через сеанс PowerShell.

Find-Module -Name '*credentialmanager*' | Format-Table -AutoSize

Version Name                          Repository Description                                                                        
------- ----                          ---------- -----------                                                                        
2.0     CredentialManager             PSGallery  Provides access to credentials in the Windows Credential Manager                   
1.1.1.0 IntelliTect.CredentialManager PSGallery  Provides an easy-to-use interface to the Windows Credential Manager via PowerShell.
1.0.9   pscredentialmanager           PSGallery  This module allows management and automation of Windows cached credentials.        
1.0.0.0 BAMCIS.CredentialManager      PSGallery  Provides a PowerShell wrapper around the Windows Credential Manager Win32 APIs. 

Смотри также:

Управление учетными данными в Windows 8/2012 PasswordVault с помощью Powershell

Этот модуль демонстрирует, как использовать новую Windows 8/2012 PasswordVault API от Powershell.

Скачать: PasswordVault.psm1

Вы также можете сделать это с помощью встроенного cmdkey.exe

Создает, перечисляет и удаляет сохраненные имена пользователей и пароли или полномочия.

Но для этого вам необходимо запустить пользовательский контекст, и это то, что может предоставить MS SysInternals PSExec. Просто создайте ScheduledTask для RunOnce / при запуске, чтобы запустить команду, чтобы сделать это.

Хорошо, я отвлекся. Итак, в общем, есть несколько способов настроить режим киоска в Windows, и MS уже давно документировала режим киоска

(Вы не говорите, на какую операционную систему вы нацелены - для них есть похожие статьи).

Для Win 10 это здесь:

Настройка киоска для одного приложения

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

Настройка киоска с помощью Windows PowerShell

Тип приложения: UWP OS edition: Windows 10 Pro, Ent, Edu Тип учетной записи: Local обычный пользователь

Вы можете использовать любой из следующих командлетов PowerShell для установки назначенных доступ на нескольких устройствах. Перед запуском командлета:

  1. Войдите как администратор.
  2. Создание учетной записи пользователя для назначенного доступа.
  3. Войдите в систему как учетная запись пользователя с назначенным доступом.
  4. Установите универсальное приложение для Windows, которое следует назначенному доступ / над замком руководящих принципов.
  5. Выйдите как учетная запись пользователя с назначенным доступом.
  6. Войдите как администратор.

Чтобы открыть PowerShell в Windows 10, найдите PowerShell и найдите Приложение Windows PowerShell Desktop в результатах. Запустите PowerShell как администратор.

# Configure assigned access by AppUserModelID and user name
Set-AssignedAccess -AppUserModelId <AUMID> -UserName <username>

# Configure assigned access by AppUserModelID and user SID
Set-AssignedAccess -AppUserModelId <AUMID> -UserSID <usersid>

# Configure assigned access by app name and user name
Set-AssignedAccess -AppName <CustomApp> -UserName <username>

# Configure assigned access by app name and user SID
Set-AssignedAccess -AppName <CustomApp> -UserSID <usersid>

Примечание. Чтобы настроить назначенный доступ с помощью -AppName, учетная запись пользователя, Вы указываете для назначенного доступа должны войти в систему по крайней мере один раз. Узнайте, как получить AUMID. Узнайте, как получить AppName (см. Параметры).

...