企業資訊化系統基礎 AD 使用C 批量建立帳號

2021-03-31 08:56:30 字數 3674 閱讀 3230

如果乙個公司打算使用微軟的產品來構建自己的辦公自動化系統,那麼,建議採用主域控制的方式。那麼,必然就要用到活動目錄(ad),這樣,it部門就需要為公司的每乙個員工來建立域帳號。如果公司比較大的話,這是乙個很大的工程。而且,我們會發現,有些工作量基本上是在重複勞動,人力資源部為了給it部門提供人員名單,會錄入一次人員的各種資訊,比如姓名、工號、所屬部門、部門領導、**號碼等等,那麼,it人員在拿到這張表後,他又要重新錄入一次。並且常常會因為人為的原因導致帳戶中出現錯誤。下面,我們就用c#編寫了乙個建立帳戶的程式。在這個程式中,它不但要建立域帳戶,它還會在相應的exchange中建立相應的郵件帳戶。通過這個程式,人力資源部門只需要按照it部門提供的資料庫格式(access)填寫相關專案就可以了。

首先,我們需要定義一些變數:

string strmemberof="";

string struserparm="";

string strmanager="";

string strscriptpath="";

string strdepartment="";

string str***pany="";

// string straccountexp;

string defaultnc = "dc=test,dc=***";  //這是預設的域

string alias = "";

string fullname = "";

string password = @"password";  //這是預設的初始密碼

string domainname = "test.***";

string strgivenname="";

//下面這個變數告訴程式將郵箱建在exchange的哪個儲存區域中

string homemdb = "**=test,**=控股公司,"

+ "**=informationstore,**=mail,**=servers,"

+ "**=first administrative group,**=administrative groups,"

+ "**=test,**=microsoft exchange,**=services,"

+ "**=configuration,dc=test,dc=***";

label1.text="開始從模板中載入資料!";

//獲取模板資訊

我們知道,建立的一批帳戶中,有許多的專案是相同的,所以,我們先建立好乙個帳戶作為模板,然後,通過讀取這個模板的資料作為新建的帳戶的相應專案的資料。

這段**採用了ad的查詢物件:

directoryentry demb = new directoryentry();

demb.path="

ldap://**=模板, ou=專案組,ou=部門,dc=test, dc=***";

strmemberof=demb.properties["memberof"][0].tostring();

struserparm=demb.properties["userparameters"][0].tostring();

strmanager=demb.properties["manager"][0].tostring();

strscriptpath=demb.properties["scriptpath"][0].tostring();

strdepartment=demb.properties["department"][0].tostring();

str***pany=demb.properties["***pany"][0].tostring();

// straccountexp=demb.properties["accountexpires"].value.tostring();

demb.close();

label1.text="載入資料完畢!開始從資料庫中讀取新建帳戶資訊!";

//讀取資料庫獲取帳戶資訊

adodb.connection objconn;

adodb.***mand objcmd;

adodb.recordset objrs;

object objoptparm;

objoptparm="";

string

str=@"jet oledb:global partial bulk ops=2;jet oledb:registry path=;jet oledb:database locking mode=1;data source=""db1.mdb"";mode=share deny none;jet oledb:engine type=5;provider=""microsoft.jet.oledb.4.0"";jet oledb:system database=;jet oledb:sfp=false;persist security info=false;extended properties=;jet oledb:***pact without replica repair=false;jet oledb:encrypt database=false;jet oledb:create system database=false;jet oledb:don't copy locale on ***pact=false;user id=admin;jet oledb:global bulk transactions=1";

objconn=new adodb.connection();

try

catch(systemexception ex)

finally

objrs=new adodb.recordset();

objcmd=new adodb.***mand();

objcmd.***mandtext="select * from sheet1";

objcmd.activeconnection=objconn;

try

catch(systemexception ex)

finally

try

// else

// );

user.***mitchanges();

user.invoke("setpassword", new object);

user.***mitchanges();

//this enables the new user.

user.properties["useraccountcontrol"].value = 0x200; //ads_uf_normal_account

user.***mitchanges();

//obtain the imailboxstore inte***ce, create the mailbox, and ***mit the changes.

mailbox = (imailboxstore)user.nativeobject;

mailbox.createmailbox(homemdb);

user.***mitchanges(); }

catch(exception ex)

// }

label1.text="建立帳戶:"+fullname+"-"+alias+"-"+strgivenname+"建立完畢!";

objrs.movenext(); }

}

catch(systemexception ex)

finally

}

企業資訊化

要清晰地理解和掌握企業資訊化規劃的概念,我們需要首先認識什麼是企業資訊化。所謂企業資訊化,就是企業將資訊科技手段應用到企業的生產和運營管理中,利用資訊科技來改造和提公升自己管理水平的過程,在這一過程中,企業挖掘先進的管理理念,通過先進的資訊科技和管理手段去整合企業現有的生產 經營 設計 製造 管理和...

企業資訊化

以資訊化帶動工業化,我們要實現跳躍式發展,不再走西方工業化的老路,並且應該看到 企業資訊化是城市資訊化,區域資訊化和國家資訊化的重要基礎 企業資訊化 企業資訊化是指在企業業務流程和生產經營活動重組和優化的基礎上,利用計算機技術 網路技術和資料技術對企業進行 整合化管理,實現企業內部 外部資訊共享和資...

企業資訊化

以資訊化帶動工業化,我們要實現跳躍式發展,不再走西方工業化的老路,並且應該看到 企業資訊化是城市資訊化,區域資訊化和國家資訊化的重要基礎 企業資訊化 企業資訊化是指在企業業務流程和生產經營活動重組和優化的基礎上,利用計算機技術 網路技術和資料技術對企業進行 整合化管理,實現企業內部 外部資訊共享和資...