Хочу поделиться небольшим скриптом который написал вчера.
Суть скрипта вовремя прислать уведомление о доступности домена.
Когда домен был брошен даётся время на восстановление, и когда это время заканчивается, домен может стать доступен для регистрации в любой момент.
Так вот чтобы этот момент не упустить и был написан данный скрипт 🙂
Я не успел откупить, буквально за 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