$strZVMIP = "{ZVM IP}" $strZVMPort = "{ZVM HTTPS port}" $strZVMUser = "{ZVM user}" $strZVMPwd = "{ZVM user password}" ## Perform authentication so that Zerto APIs can run. Return a session identifier that needs to be inserted in the header for subsequent requests. function getxZertoSession ($userName, $password){ $baseURL = "https://" + $strZVMIP + ":"+$strZVMPort $xZertoSessionURL = $baseURL +"/v1/session/add" $authInfo = ("{0}: {1}" -f $userName,$password) $authInfo = [System.Text.Encoding]::UTF8.GetBytes($authInfo) $authInfo = [System.Convert]::ToBase64String($authInfo) $headers = @{Authorization=("Basic {0}" -f $authInfo)} $contentType = "application/json" $xZertoSessionResponse = Invoke-WebRequest -Uri $xZertoSessionURL -Headers $headers -Method POST -Body $body -ContentType $contentType #$xZertoSessionResponse = Invoke-WebRequest -Uri $xZertoSessionURL -Headers $headers -Body $body -Method POST return $xZertoSessionResponse.headers.get_item("x-zerto-session") } #Extract x-zerto-session from the response, and add it to the actual API: $xZertoSession = getxZertoSession $strZVMUser $strZVMPwd $zertoSessionHeader = @{"x-zerto-session"=$xZertoSession} |
String loginType = args.Length > 4 ? args[4] : "1"; |
String loginType = args.Length > 4 ? args[4] : "0"; |
private void LogOut() { String addSessionUri = m_baseAddress + "/session"; HttpWebRequest request = WebRequest.Create(addSessionUri) as HttpWebRequest; //logging-out is about DELETING a session, with the DELETE http command request.Method = "DELETE"; request.Timeout = 10000; //you need to set the id of the session to be deleted --> logged-out request.Headers.Add(c_authorizationHeader, m_sessionId); HttpWebResponse httpResponse = request.GetResponse() as HttpWebResponse; if (httpResponse.StatusCode == HttpStatusCode.OK) { m_sessionId = String.Empty; Console.WriteLine("\nLogged out - by deleting the session"); } else { Console.WriteLine("Request {0} failed with code: {1}, {2}", request, httpResponse.StatusCode, httpResponse.StatusDescription); } } |