public static CookieContainer GetCookies(string url, PSCredential credential) { if (credential == null || string.IsNullOrEmpty(credential.UserName) || credential.Password == null || credential.Password.Length == 0) { throw new ArgumentException( "Explicit credentials are needed to connect to Office 365."); } var credentials = credential.GetCredentials(); var helper = new MsOnlineClaimsHelper(credential.UserName, credential.Password.ToInsecureString(), url); return(helper.CookieContainer); }
internal static T GetService <T>(string url, PSCredential credential, int timeout) where T : SoapHttpClientProtocol, new() { var name = typeof(T).Name; var service = new T(); service.Url = PathUtility.JoinPath(url, "_vti_bin", name + ".asmx"); if (credential != null) { service.Credentials = credential.GetCredentials(); } else { service.UseDefaultCredentials = true; } if (timeout > 0) { service.Timeout = timeout; } return((T)service); }