Запустите приложение Windows и введите имя пользователя и пароль автоматически - PullRequest
0 голосов
/ 29 января 2020

У меня есть набор приложений, которые я хотел бы открыть при запуске. Они требуют имя пользователя и пароль для входа в систему. После того, как вы введете их и нажмете LogIn, появится сообщение с подтверждением, подтверждающее, хотите ли вы войти в систему или нет.

Можно ли это сделать с помощью CMD или PowerShell?

, например:

> Start <path>/App1 | Username ; Password | Press OK
> Start <path>/App2 | Username ; Password | Press OK

1 Ответ

0 голосов
/ 29 января 2020

Может быть, это полезно для вас:

Add-Type -AssemblyName System.Windows.Forms

#----------------------------------------------------------------------
function win32UserDLL {
<#
// set focus to window 
#>
#----------------------------------------------------------------------
    param(
        [Parameter()]
        $mainWindowHandle = (Get-Process -Id $pid).MainWindowHandle,
        [Parameter()]
        [ValidateSet('SetFocus', 'BringWindowToTop')]
        [String]$action = 'SetFocus'
    )

    $win32UserDLL = Add-Type –memberDefinition @” 
    [DllImport("user32.dll", SetLastError = true)] 
    public static extern IntPtr SetFocus(IntPtr hWnd);
    [DllImport("user32.dll", SetLastError = true)]
    public static extern bool BringWindowToTop(IntPtr hWnd);
“@ -name “Win32SetFocus” -namespace Win32Functions –passThru


    switch( $action ) {
        'SetFocus' {
            [void]$win32UserDLL::SetFocus($mainWindowHandle) 
        }
        'BringWindowToTop' {
            [void]$win32UserDLL::BringWindowToTop($mainWindowHandle) 
        }
    }
}

$appName = "myApp"

$handle = (Get-Process | where { $_.ProcessName -like $appName }).MainWindowHandle | where { $_ -ne 0 }

$handle

win32UserDLL -mainWindowHandle $handle -action SetFocus

[System.Windows.Forms.SendKeys]::SendWait("Username")
[System.Windows.Forms.SendKeys]::SendWait("{TAB}")
[System.Windows.Forms.SendKeys]::SendWait("Password")
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...