Powershell – Reboot distant photocopieur xerox

Permet de faire un reboot distant d’un photocopieur distant
############## script start ##############

$CookieContainer = New-Object System.Net.CookieContainer

function SendGET([string]$url)
{
[net.httpWebRequest] $req = [net.webRequest]::create($url);
$req.Method = "GET";
$req.Accept = "text/html";
$req.CookieContainer = $CookieContainer;
[net.httpWebResponse] $res = $req.getResponse();
$resst = $res.getResponseStream();
$sr = new-object IO.StreamReader($resst);
$result = $sr.ReadToEnd();
return $result;
}

function SendPOST([string]$url, [string]$data)
{
$buffer = [text.encoding]::ascii.getbytes($data)
[net.httpWebRequest] $req = [net.webRequest]::create($url)
$req.method = "POST"
$req.ContentType = "application/x-www-form-urlencoded"
$req.ContentLength = $buffer.length
$req.KeepAlive = $true
$req.CookieContainer = $CookieContainer
$reqst = $req.getRequestStream()
$reqst.write($buffer, 0, $buffer.length)
$reqst.flush()
$reqst.close()
[net.httpWebResponse] $res = $req.getResponse()
$resst = $res.getResponseStream()
$sr = new-object IO.StreamReader($resst)
$result = $sr.ReadToEnd()
$res.close()
return $result;
}

$IpPrinter = read-host "Adresse IP du copieur Xerox a rebooter ? :"

# Request to get session id
$x = SendGET ("http://" + $IpPrinter + "/properties/authentication/login.php");
# Post login to get new session id
$x = SendPOST ("http://" + $IpPrinter + "/userpost/xerox.set") ("_fun_function=HTTP_Authenticate_fn&NextPage=%2Fproperties%2Fauthentication%2FluidLogin.php&webUsername=admin&webPassword=1111&frmaltDomain=default");

# Post reboot command with loggedin session id
$x = SendPOST ("http://" + $IpPrinter + "/userpost/xerox.set") ("_fun_function=HTTP_Machine_Reset_fn&NextPage=/status/rebooted.php");

############## script end ##############

 

Taggé , , .Mettre en favori le Permaliens.

Les commentaires sont fermés.