Powershell Whois

 

Хочу поделиться небольшим скриптом который написал вчера.
Суть скрипта вовремя прислать уведомление о доступности домена.
Когда домен был брошен даётся время на восстановление, и когда это время заканчивается, домен может стать доступен для регистрации в любой момент.
Так вот чтобы этот момент не упустить и был написан данный скрипт 🙂
Я не успел откупить, буквально за 10 минут, меня опередили.
Надо было ставить чек раз в 5 минут, а я поставил раз в 15 минут.

Для начало необходимо скачать утилиту Sysinternals Whois v1.13

Складываем скрипт и утилиту в одну папку, и добавляем в планировщик запуск скрипта.

Как только домен станет доступен к регистрации, на почту придёт письмо.

Ну и сам скрипт:

# .\whois.exe -v "global.energy" whois.donuts.co

Function sendEmail 
{param($from,$to,$subject,$smtphost,$htmlFileName) 
$body = $htmlFileName 
$smtp= New-Object System.Net.Mail.SmtpClient $smtphost 
$msg = New-Object System.Net.Mail.MailMessage $from, $to, $subject, $body 
$msg.isBodyhtml = $true 
$smtp.send($msg)
} 

$app = "K:\WhoIs\whois.exe"
$arg1 = "-v"
$arg2 = "global.energy"
$arg3 = "whois.donuts.co"
$whois_data = & $app $arg1 $arg2 $arg3
$DomainStatus = $whois_data | select-string "Domain not found." -SimpleMatch
$date = ( get-date ).ToString('yyyy.MM.dd HH:mm:ss') 
If ($DomainStatus) {
    $DomainStatus = "Ready to register, domain status is: " + $DomainStatus
    sendEmail hmh@ittc.com.ua hmh@ittc.com.ua "!!! Global.Energy Domain status - $Date" mail.ittc.com.ua $DomainStatus 
    Write-Output "E-Mail sended"

} Else {
    $DomainStatus = $whois_data | select-string "Domain Status:" -SimpleMatch
    $date
    $DomainStatus
}

Если в планировщике в строке команды добавить >> log.txt

Получиться вот такой лог:

2016.04.25 10:53:55

Domain Status: pendingDelete https://icann.org/epp#pendingDelete
Domain Status: inactive https://icann.org/epp#inactive


2016.04.25 11:08:55

Domain Status: pendingDelete https://icann.org/epp#pendingDelete
Domain Status: inactive https://icann.org/epp#inactive


E-Mail sended
E-Mail sended
E-Mail sended
E-Mail sended
E-Mail sended
E-Mail sended
E-Mail sended
E-Mail sended
E-Mail sended
2016.04.25 13:38:55

Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Domain Status: addPeriod https://icann.org/epp#addPeriod

 

Pin It

Leave a Reply