Попробуй так ...
$ie = New-Object -com InternetExplorer.Application
$ie.visible=$true
$ie.navigate('https://s1.wcy.wat.edu.pl/ed')
while($ie.ReadyState -ne 4) {start-sleep -m 100}
$UserID = $ie.document.getElementsByTagName('INPUT') |
Where-Object {$($_.Name) -match 'userid'}
$UserId.value = 'UserID'
$UserPassword = $ie.document.getElementsByTagName('INPUT') |
Where-Object {$($_.Name) -match 'password'}
$UserPassword.value = 'password'
$Submit = $ie.document.getElementsByTagName('INPUT') |
Where-Object {$($_.Value) -match 'Zaloguj'}
$Submit.click()
С тех пор как это произошло, INPUT стал более надежным, поскольку все они являются тегами INPUT.
$wcy = Invoke-WebRequest -Uri 'https://s1.wcy.wat.edu.pl/ed'
$wcy.Forms[0] | Format-List -Force
$wcy.Forms[0].Fields
$wcy.InputFields
Я только что проверил это, так что я знаю, что это работает. Ну, это сделал для меня. Ну, конечно, вход в систему не удалось из-за недействительных кредитов. ; -}
Вы не получили совпадение (это сообщение об ошибке) с -eq из-за того, что строка читается не так, как ожидалось. Использование матча работало лучше.