java管理windows live custom domains用户

简介: import liveDomains.*;import java.io.*;import java.net.*;/*** java管理windows live custom domains用户* author:54powerman* 54powerman@163.com* http://54powerman.blog.sohu.com* 无法传附件,如对感兴趣liveDomains api包请mail索取。

import liveDomains.*;
import java.io.*;
import java.net.*;
/**
* java管理windows live custom domains用户
* author:54powerman
* 54powerman@163.com
* http://54powerman.blog.sohu.com
* 无法传附件,如对感兴趣liveDomains api包请mail索取。
**/
public class LiveDomainsManage {
 private String adminUser;
 private String adminPassword;
 private String loginUrl;
 private String loginTicket;
 private String loginData;
 private ManageDomainSvcLocator service;
 private ManageDomainSvcSoap_PortType client;
 public LiveDomainsManage(String user,String pass)
 {
  adminUser=user;
  adminPassword=pass;
  service=new ManageDomainSvcLocator();
  try{
   client=service.getManageDomainSvcSoap12();
  }
  catch(javax.xml.rpc.ServiceException e)
  {}
  try{
   loginUrl=client.getLoginUrl(adminUser);
   String loginDataTemplate=client.getLoginDataTemplate();
   loginData = loginDataTemplate.replaceAll("%NAME%", adminUser);
   loginData = loginData.replaceAll("%PASSWORD%", adminPassword);
  }
  catch(java.rmi.RemoteException e)
  {}
  login();
 }
 private void login()
 {
  if(!validate())
  {
   loginTicket = postWebData(loginUrl, loginData);//登录凭证,这个凭证在后面的操作中会频繁使用
  }
 }
 public void addUser(String user,String pass,boolean resetPassword)
 {
  try{
   client.addUser(user,pass,resetPassword,loginTicket);
  }
  catch(java.rmi.RemoteException e){}
 }
 public void deleteUser(String user)
 {
  try{
   client.deleteUser(user,loginTicket);
  }
  catch(java.rmi.RemoteException e){}
 }
 public String[] enumUsers(String domain)
 {
  try{
   return client.enumUsers(domain,"",500,loginTicket);
  }
  catch(java.rmi.RemoteException e){return null;}
 }
 public boolean validate()
 {
  try{
   return client.verifyAuthData(loginTicket);
  }
  catch(java.rmi.RemoteException e){return false;}
 }
 public UserState getUserState(String user)
 {
  try{
   return client.getUserState(user,loginTicket);
  }
  catch(java.rmi.RemoteException e){return null;}
 }
 public static String postWebData(String urlString,String postParam) {
  StringBuffer document = new StringBuffer();
  try {
   URL url = new URL(urlString);
   URLConnection conn = url.openConnection();
   if(!postParam.trim().equals("")){
    conn.setDoOutput(true);
    OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "GBK");
    out.write(postParam);
    out.flush();
    out.close();
   }
   BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line = null;
   while ( (line = reader.readLine()) != null) {
    document.append(line + "/n");
   }
   reader.close();
  }
  catch (MalformedURLException e) {
   System.out.println("Unable to connect to URL: " + urlString);
  }
  catch (IOException e) {
   System.out.println("IOException when connecting to URL: " + urlString);
  }
  return document.toString();
 }
 public static void main(String[] args) throws Exception{
  String adminUser="54powerman@163.com";
  String adminPassword="xxxxxxxxxxxxxxx";
  LiveDomainsManage liveDomainsManage=new LiveDomainsManage(adminUser,adminPassword);
  String[] users=liveDomainsManage.enumUsers("usease.com");
  for(int i=0;i<users.length;i++)
  {
   UserState userState=liveDomainsManage.getUserState(users[i]);
   System.out.println(users[i]+"/t"+userState.toString());
  }
 }
}

运行结果:
admin@usease.com         InUse
54powerman@usease.com    InUse
 

目录
相关文章
|
网络协议 数据安全/隐私保护 Windows
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
|
存储 缓存 数据安全/隐私保护
Windows 命令提示符(CMD)操作(二):系统信息和管理
Windows 命令提示符(CMD)操作(二):系统信息和管理
|
Java Unix 应用服务中间件
使用java service wrapper把windows flume做成服务
使用java service wrapper把windows flume做成服务
331 0
|
Java Windows
windows下 安装 Elasticsearch报错warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
windows下 安装 Elasticsearch报错warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
1262 0
|
Java Linux Windows
java在Linux执行命令Java在Windows执行命令
java在Linux执行命令Java在Windows执行命令
187 0
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
4537 0
windows版java版本管理器
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
385 1
|
Java Windows
windows系统bat批处理 一键配置java jdk环境变量
windows系统bat批处理 一键配置java jdk环境变量
684 4
|
Oracle Java 关系型数据库
02. 【Java教程】Windows 上安装 Java
02. 【Java教程】Windows 上安装 Java
886 1
|
前端开发 JavaScript Java
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
271 0