公司在異地有分公司。那邊要加入域。然后權(quán)限等等。。。還有就是ruby學(xué)習(xí)一下。。。
創(chuàng)新新互聯(lián),憑借十載的做網(wǎng)站、成都做網(wǎng)站經(jīng)驗(yàn),本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有1000+案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)。require 'net/ldap' require 'net/telnet' require 'net/http' require 'openssl' require 'base64' require 'highline/import' #隱藏輸入字符 gem install highline ALG = 'DES-EDE3-CBC' KEY = "masdsdff" #你的密鑰 只能8位 DES_KEY = "nseewW3E" #任意固定的值 def check_pass(auth) puts "Input Your Username" username = STDIN.gets.chomp password = ask("Input Your Password") { |q| q.echo = "*" } ldap = Net::LDAP.new ldap.host = "fw.163.net" ldap.port = 389 result = ldap.bind_as( :base => "ou=People,dc=163,dc=net", :filter => "(uid=#{username}))", :password => password ) if result auth.include?(username) ? true : false else false end end def check_network() begin Net::Telnet::new("Host" => "ad.163.net", "Port" => 80, "Telnetmode" => false) rescue puts "Can't Connect AD, Please Check Network." sleep 10 exit end end def check_hostname() if ENV["COMPUTERNAME"].downcase.scan("hw").count > 0 puts "Please Change Hostname And Restart PC" sleep 10 exit end end def usage() help=<0 ? true : false end def encode(str) des = OpenSSL::Cipher::Cipher.new(ALG) des.pkcs5_keyivgen(KEY, DES_KEY) des.encrypt cipher = des.update(str) cipher << des.final return Base64.encode64(cipher) #Base64編碼,才能保存到數(shù)據(jù)庫 end def decode(str) str = Base64.decode64(str) des = OpenSSL::Cipher::Cipher.new(ALG) des.pkcs5_keyivgen(KEY, DES_KEY) des.decrypt des.update(str) + des.final end #----------------------- check_network() #usage() 本來用參數(shù),現(xiàn)在改輸入 secret = decode(Net::HTTP.get(URI('http://fw.163.net/auth.dat')).chomp).split("|") if check_pass(secret) check_hostname() if add_domain(secret) puts "Add users to the local administrators group? (Y|N)" if STDIN.gets.scan(/[yY]/).count > 0 puts "Please enter a user to join the administrators group" `net localgroup administrators 163.net\\#{STDIN.gets.chomp} /add` end puts "Join a domain successfully" else puts "Join a domain fail" end sleep 10 exit else puts "1: username or password err; 2: unauthorized" sleep 10 exit end
然后用 ocra 編譯為exe (ocra 直接 gem install ocra, 這個(gè)感覺比exerb、rubyscript2exe好)
同時(shí)程序需要 netdom.exe netapi32.dll
注,加密的是在網(wǎng)上找的。忘記哪了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。