Powershell启动脚本,用于在重新启动时以不同方式登录网站

Powershell启动脚本,用于在重新启动时以不同方式登录网站,powershell,internet-explorer,startup,Powershell,Internet Explorer,Startup,我有一个启动时运行的powershell脚本,用于打开网站并登录。无论何时手动运行脚本,还是在Windows中注销配置文件并重新登录,它都可以正常工作。但是,当我重新启动计算机时,脚本会打开网站,但随后无法编辑DOM以更改用户名和密码文本字段并单击提交按钮。它似乎试图更改值,因为光标停止闪烁,但什么也没有发生 这是代码 $IEProcess = [System.Diagnostics.Process]::Start("iexplore", "-k https://www.website.com"

我有一个启动时运行的powershell脚本,用于打开网站并登录。无论何时手动运行脚本,还是在Windows中注销配置文件并重新登录,它都可以正常工作。但是,当我重新启动计算机时,脚本会打开网站,但随后无法编辑DOM以更改用户名和密码文本字段并单击提交按钮。它似乎试图更改值,因为光标停止闪烁,但什么也没有发生

这是代码

$IEProcess = [System.Diagnostics.Process]::Start("iexplore", "-k https://www.website.com")
Sleep -Seconds 1
$IE = $(New-Object -ComObject "Shell.Application").Windows() | ? {$_.HWND -eq $IEProcess.MainWindowHandle}

while ($IE.ReadyState -ne 4)
{
  Start-Sleep -Milliseconds 100
}

$IE.Document.getElementById(“userNameInput”).value = $Username 
$IE.Document.getElementByID(“passwordInput”).value= $Password 
$IE.Document.getElementById(“submitButton”).Click() 

使用这个代码,我能够让它工作。这可能与您如何将其配置为在启动时运行有关

$Url = "https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a% 
2f%2fstackoverflow.com%2f" 

$Username="name@email.com"

$Password="password" 

$IE = New-Object -com internetexplorer.application; 
$IE.visible = $true; 
$IE.navigate($url); 

while ($IE.Busy -eq $true) 

{ 

Start-Sleep -Milliseconds 2000; 

} 

$IE.Document.getElementById("email").value = $Username 
$IE.Document.getElementByID("password").value=$Password 
$IE.Document.getElementById("submit-button").Click()
我做了以下工作:

  • 打开gpedit.msc
  • 用户配置>Windows设置>脚本(登录/注销)
  • “PowerShell脚本”选项卡
  • 添加脚本

  • 启动脚本在系统上下文而不是用户上下文中运行。让它成为一个登录脚本。我的意思是说登录脚本。我正在通过gpo登录脚本运行它。听起来您需要在其中添加一些日志,以查看这些变量在运行时的实际值。我需要在kiosk模式下打开internet explorer。