PowerShell: проверка сервисов – аналоги curl и telnet

By | 02/02/2018
 

Т.к. в Windows Server 2012 нет привычных утилит, таких как curl и telnet – используем PowerShell.

Краткая заметка себе на будущее.

a-la curl

Проверить ответ сервиса можно с помощью модуля Invoke-WebRequest:

PS D:\Tableau\Tableau Server\10.4\bin> invoke-webrequest http://google.com
StatusCode        : 200
StatusDescription : OK
Content           : <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en"><head><meta
content="Search the world's information, including webpages, images, videos and more. Google has
many speci...
RawContent        : HTTP/1.1 200 OK
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8
Date: Fri, 02 Feb 2018 12:07:40 GMT
Expires: ...
Forms             : {f}
Headers           : {[X-XSS-Protection, 1; mode=block], [X-Frame-Options, SAMEORIGIN], [Cache-Control, private,
max-age=0], [Content-Type, text/html; charset=UTF-8]...}
...

StatusCode : 200

a-la telnet

А что бы проверить принимает ли сервис подключения на порт – используем TcpClient Class:

PS D:\Tableau\Tableau Server\10.4\bin> new-object system.net.sockets.tcpclient("google.com", 80)
Client              : System.Net.Sockets.Socket
Available           : 0
Connected           : True
ExclusiveAddressUse : False
ReceiveBufferSize   : 65536
SendBufferSize      : 65536
ReceiveTimeout      : 0
SendTimeout         : 0
LingerState         : System.Net.Sockets.LingerOption
NoDelay             : False

Connected : True

Готово.