Я написал сценарий для входа на сайт клиентов. Все работает просто отлично, но они сообщили, что видят устаревшие сеансы из учетной записи, которую я использую. Я не знаю, как это исправить, поскольку мой googlefu ничего не возвращает. Вот код, который я написал:
$c = Get-Credential -credential ${CREDENTIAL}
$loginbase = 'http://${IP}'
$loginURL = $loginbase + '/AdminTools/querybuilder/'
$r = Invoke-WebRequest -Uri ($loginURL + 'logonform.jsp') -SessionVariable session
$form = $r.Forms[0];
$form.Fields['aps'] = '${Node.DNS}:6400';
$form.Fields['usr'] = $c.Username;
$form.Fields['pwd'] = SecureStringToString $c.Password;
$r = Invoke-WebRequest -Uri ($loginURL + $form.Action) -Method POST -Body $form.Fields -WebSession $session;
Я слишком долго смотрел на это, и мне просто нужен еще один взгляд, чтобы подтолкнуть меня в правильном направлении.
В случае, если это имеет значение, я запустил этот скрипт с переменной сеанса и без нее. Мой первоначальный вывод заключался в том, что сеанс заставлял сеанс оставаться открытым и будет повторно использоваться при повторной попытке входа в систему. Кроме того, это часть решения для мониторинга, поэтому оно настроено на попытку входа в систему каждые 120 секунд.