Скрипт Powershell для отслеживания статуса входа на сайт - PullRequest
0 голосов
/ 09 июля 2020

У меня есть URL-адрес (например, www.abc.com), и после успешного входа он будет перенаправлен на (например, www.xyz.com ), а в случае сбоя входа в систему он будет перенаправлен на (например, www.pqr.com)

Мне нужно отслеживать статус входа в систему с помощью сценария PowerShell, может ли кто-нибудь помочь мне ?

Я пробовал ниже, но результат всегда дает мне успех.

$url = 'www.abc.com'
$user = 'username'
$pass = 'password'

$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"

$Headers = @{
                 Authorization = $basicAuthValue
            }
$req = Invoke-WebRequest -Uri $url -Headers $Headers

    $StatusCode = [int] $req.StatusCode;
    $StatusDescription = $req.StatusDescription;

    write-host $req
    write-host $StatusCode
    write-host $StatusDescription

1 Ответ

0 голосов
/ 09 июля 2020

Вы можете управлять inte rnet проводником с помощью PowerShell.

Допустим, вы создаете объект для него

$objIE = New-Object -ComObject InternetExplorer.Application

Перейдите по URL-адресу

$objIE.Navigate($SomeURL)

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

$SearchButton = $objIE.Document.getElementById('SomeElementId')

Вы можете ввести текст в поля и нажать кнопку, но я Я не собираюсь превращать этот комментарий в полноценное руководство. Когда вас перенаправят, просто выполните $ObjIE.LocationURL, чтобы получить текущий URL.

Я знаю, что здесь используется другая реализация, чем та, которую вы предоставили, но я знаю именно об этом.

...