Pages

Subscribe:

Ads 468x60px

Labels

2015年9月3日 星期四

該如何讓VFP控制bartender列印標籤?

資料來源

參考 http://www.programmer-club.com.tw/showSameTitleN/csharp/11499.html 

如果按照網頁所寫的方法,
在VFP只要一行指令就完成.

run "C:\Program Files\Seagull\BarTender UltraLite Plus\8.0\bartend.exe" /f 標籤檔名 /P /X

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.

VFP 連線 SQL 2008 R2 Express 的字串連線寫法

資料來源

Sql Server 是 ConnString="Driver=SQL Server;Server=192.168.1.205;uid=sa;pwd=123;Database=NorthWind"

ConnString="driver=SQL Server Native Client 10.0;server=ComputerName\SQLEXPRESS;uid=sa;pwd=123;database=NorthWind" 

2015年9月2日 星期三

Apache 整合 Acitve Directory 達成 one single signon


我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登入AD的帳號資訊,已經變成系統開發必須要考量的項目之一 (至少我自己是這樣認為啦 @@)
.NET整合AD的資訊已經有大大實做成功並且實際運用於目前的系統上.由於都是微軟家族的產品,因此整合上比較容易.
但是目前公司存在有Apache+PHP+MySQL on Windows的架構,因此如何讓這樣的架構也可以快速的抓取使用者AD資訊是我今天要介紹的項目.
[版本需求]
1. Apache 2.x 以上
2. PHP和MySQL都沒有特殊的版本要求,不過我還是建議安裝PHP 5.x和MySQL 4.1.x以上的版本
[安裝過程]
1. 將mod_auth_sspi.so (下載位址)放到path_to_apache/modules這個目錄下面
2. 在httpd.conf裡面加上下面兩段
  (1) LoadModule sspi_auth_module modules/mod_auth_sspi.so
  (2)在需要進行驗證的目錄設定加上下面的內容,並且將AllowOverride開啟
      AuthName "A Protected Place"
      AuthType SSPI
      SSPIDomain tpe.compalcomm.com
      SSPIAuth On
      SSPIAuthoritative On
      SSPIOfferBasic On
      require valid-user
          
    修改後應該會像這樣
   
     Options Indexes FollowSymLinks
     AllowOverride All
     Order allow,deny
     Allow from all
     AuthName "A Protected Place"
     AuthType SSPI
     SSPIDomain tpe.compalcomm.com
     SSPIAuth On
     SSPIAuthoritative On
     SSPIOfferBasic On
     require valid-user
 

3. 重新啟動Apache
[如何抓取使用者登入AD的帳號]
程式只有一行,真的只有一行.
$_SERVER["REMOTE_USER"] 就只需要這行就可以抓到使用者登入AD的帳號.
後面要怎麼達成one single signon,我相信各位程式高手都知道該怎麼做了,我就不獻醜了.
[如何抓取使用者在AD中的其他資訊]
我之前有找到一個adLDAP.php的class,只需要確定ldap_binding正常,
然後將剛剛抓到的使用者AD帳號傳進去,AD裡面所有的資訊全部都可以抓出來.
adLDAP http://adldap.sourceforge.net/

2015年9月1日 星期二

豬腦爸 D NOW BA: 無硬碟系統技術文件最終回

豬腦爸 D NOW BA: 無硬碟系統技術文件最終回: 無硬碟配置整套做法 說明:適用大陸銳起、網眾、台灣pxe、vhd等無硬碟系統,即便各系統的核心技術不大一樣,但施工標準大致如下,一定要做到「一包多配置」,再者是可以所有OS通吃(2000、XP、VISTA、WIN7、SVR2003…)、更優的最好可以跨ROUTER、跨VLAN...

DRBL+winroll可以自動加入AD了

資料來源


DRBL+winroll可以自動加入AD了

文章由 bunker9075 » 週二 11月 08, 2011 2:27 pm
各位原台中縣的資訊夥伴:
大家好!原來我們的資訊環境很多都是:REMBO+WIN2003+WINXP+AD管理電腦教室(其實真的是一個很完美的環境),後來因為REMBO被併走,再加上CLIENT端的os漸漸換成win7,所以作業系統大量部署這一塊大家都自己想辦法解決!為了解決rembo不再支援win7這個問題,我決定不再求助付費軟體,怕的就是以後又像rembo一樣,控制權操在他人手裡,這幾個月來一直鑽研國網中心的drbl,發現他的效能真的很好,唯一無法與rembo相比的是client端無法自動加入ad,所以從今年六月開始,就不斷的寫email去盧國網中心的開發人員,想不到他們竟然會理我這個無名小卒,經過數個月的郵件溝通,現在DRBL+winroll也可以做到像rembo一樣自動加入ad了 :lol: !目前我的測試環境如下:
server端:ubuntu10.10_server版+drbl_stable版
client端:winxp+winroll-v1.3.0-149
AD:WIN2003_SERVER
早上用acerpower_m6作大量部署的測試已經成功,真的可以像rembo一樣派送了!目前還有一些系統依序要做測試,:
WIN2008+WIN7環境
WIN2003+WINXP環境
WIN2003+WIN7環境
2008+WINXP環境
如果也想走此一解決方案的夥伴,建議您裝DRBL的server最好採用ubuntu,因為drbl是去找os裡的網卡驅動來做pxe動作(路徑:/lib/modules/2.6.35-22-generic-pae(實際到該路徑看核心名稱為何?)/kernel/drivers/net,一般我們習慣用的centos包的網卡驅動太少了)
最後,不知各位資訊夥伴需不需要我再提供進一步的drbl經驗,也許各位都已經用三個小朋友解決作業系統大量部署問題了,畢竟作這種系統的廠商很多,只是明年開始就沒有電腦維護費了,而drbl效能又很好,不用實在可惜!
bunker9075
 
文章: 477
註冊時間: 週三 3月 03, 2004 8:16 pm
來自: 社口國小

在硬碟上一次安裝ezgo、win7、conezilla live及一鍵還原備份功能選單

資料來源

我的電腦教室系統主要是利用phantosys來管理,phantosys的好處是支援win xp ,win 7 32bits 、win7 64 bits及Linux,因為我們的電腦教室授權是phantosys lite版,只能支援2個主要的root 映像檔,每個root可以分4層分支系統,所以我們的電腦教室一個root映像檔是win7,一個root 映像是ezgo9,phantosys的server用的等級不用太高,像我們是server是用core 2 duo,硬碟也是一般的硬碟,網卡也是內建的Giga,交換器是全giga,線是用cate6,這樣環境下,跑得還變順的。
client可以無硬碟方式執行,或是利用硬碟建cache,不過有建cache的話開機速度會比較快。

雖然這樣的系統好管理,但是很怕哪一天server掛點或交換器出包,那電腦課就準備開天窗了,所以我一直在想硬碟的系統要如何建置,除了方便我派送外也要方便我管理,那clonezilla和DRBL當然是不二人選。

首先,我規畫至少要安裝二個作業系統,一個是linux,一個是windows,另外也要在硬碟安裝clonezilla live,這樣我就不需要用光碟或usb開機載入clonezilla live,最好開機選單也做個即時還原功能,若系統亂了就請學生選還原,就可以將系統還原。

所以,我的硬碟規畫是:
sda1:win7
sda2:win7的儲存空間
sda3:linux的 /
sda5:linux的/home
sda6:linux的swap
sda7:clonezilla live安裝區

另外,也要留至少30GB的未配置區給phantosys作cache用

安裝順序是:
  1. 先用Gparted Live分割磁區,但要注意先不要留未配置區,因為win7安裝時會在未配置區安裝100MB的資料,這對於到時要建立還原映像檔時會很麻煩,所以我會只建二個partition,第一個是給win7
  2. 安裝win7到第一個分割區
  3. 然後,會再用Gparted Live 將第二分割區拿掉,再建立主分割區[sda2,sda3],延伸分割區[sda5,sda6,sda7]
  4. 將sda2格式化為ntfs
  5. 安裝ezgo9,sda3為/,sda5為/home,sda6為swap,sda7格式化ext3並留待安裝clonezilla live
  6. 安裝ezgo9後,系統就會建立一份多重開機選單
  7. 進入ezgo9後:修改root密碼,並設定開機預設項目,參考http://kuotzurung.blogspot.tw/2012/03/ezgo9clonezilla-live.html
  8. 安裝clonezilla live 到sda7, mount /dev/sda7 /mnt , 下載Clonezilla live的zip檔,將所有檔案解開到/mnt, 將/mnt/下的目錄"live"改成"live-hd"
  9. 修改 /etc/grub.d/40_custom,將clonezilla live加到開機選單
    ================================================menuentry "Clonezilla" {set root=(hd0,7)linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset
    ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\"
    ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash 
    live-media-path=/live-hd bootfrom=/dev/sda7 toram=filesystem.squashfsinitrd /live-hd/initrd.img}================================================注意: 這邊grub 2的開機參數,為了要顯示雙引號"在/proc/cmdline 中,雙引號"前面都要加上\。接著重跑update-grub2,不過我在執行上遇到要先執行update-grub2再執行update-grub 
  10. 重開機後,就可以在選單選clonezilla live開機,建立win7的映像檔到/sda2,映像檔我命名為win7-backup,同樣的方式再建立ezgo9的映像檔到/sda2,映像檔我命名為linux-backup
  11. 準備修改  /etc/grub.d/40_custom 並建立win7還原指令選單,我參考了新莊中信國小蔡明貴主任的文件 http://auto.ezschool.tw/ ,及 http://jainan.blogspot.tw/2011/09/196-for-acer-veriton-m490.html 可是因為他們的還原映像檔是和clonezilla live放在同一個磁區,所以在還原上不會有問題,但我的映像檔是放在/sda2,而clonezilla live是放在/sda7,所以原本我的 /etc/grub.d/40_custom是修改成這樣,修改完後執行update-grub2及update-grub------------------------------------------------------------------------------------------------------
    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    menuentry "Clonezilla" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/sda7 toram=filesystem.squashfs
    initrd /live-hd/initrd.img
    }
    menuentry "Recovery Win7" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset  ocs_live_run=\"ocs-live-restore\" ocs_live_extra_param=\"-g auto -e1 auto -e2 -c -r -j2 -k -p true restoreparts win7-backup sda1\" ocs_live_keymap=\"NONE\" ocs_live_batch=\"yes\" ocs_lang=\"\" vga=788 ip=frommedia nolocales live-media-path=/live-hd bootfrom=/dev/sda7
    initrd /live-hd/initrd.img
    }
    -------------------------------------------------------------------------------------------------
  12. 但是開機後,選 Recovery Win7 執行後會出現 The directory /home/partimag/win7-backup for the inputed name does NOT exist!
  13. 後來找到clonezilla live的開機參數說明http://clonezilla.nchc.org.tw/clonezilla-live/doc/fine-print.php?path=./99_Misc/00_live-initramfs-manual.doc提到ocs_prerun, ocs_prerun1, ocs_prerun2... 等參數讓你可以在Clonezilla主程式被執行前,執行相關指令,例如ocs_prerun="/live/image/myscript.sh"
  14. 因此加入了ocs_prerun=\"sudo mount /dev/sda2 /live/image/home/partimag\" 這行,所以再重新修改了/etc/grub.d/40_custom
    ------------------------------------------------------------------------------------------------------
    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    menuentry "Clonezilla" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/sda7 toram=filesystem.squashfs
    initrd /live-hd/initrd.img
    }
    menuentry "Recovery Win7" {
    set root=(hd0,7)
    linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset  ocs_prerun=\"sudo mount /dev/sda2 /live/image/home/partimag\" ocs_live_run=\"ocs-live-restore\" ocs_live_extra_param=\"-g auto -e1 auto -e2 -c -r -j2 -k -p true restoreparts win7-backup sda1\" ocs_live_keymap=\"NONE\" ocs_live_batch=\"yes\" ocs_lang=\"\" vga=788 ip=frommedia nolocales live-media-path=/live-hd bootfrom=/dev/sda7
    initrd /live-hd/initrd.img
    }
    -------------------------------------------------------------------------------------------------
    再重新執行
     update-grub2及update-grub
  15. 終於…可以直接在選單上執行還原功能了


  16. 之後再找時間安裝winroll,再用DRBL派送系統,我理想中的電腦教室系統就可以大功告成了!
為什麼我要這麼麻煩做這個還原功能呢,直接用DRBL派就好了呀,其實這是為了配合phantosys的cache,因為只要重派送,動到未配置區,phantosys就需要在學生機一台一台重建cache,那可真是煩人的事呀,而且之後要還原,就可以請學生直接按選單上的還原,再教他們按y就可以囉!
--------------------------------------------------------------------------------------------------

加入一鍵備份功能:
修改/etc/grub.d/40_custom
加入

menuentry "Backup Win7" {
set root=(hd0,7)
linux /live-hd/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset   ocs_prerun=\"sudo mount /dev/sda2 /live/image/home/partimag\" ocs_live_run=\"ocs-live-restore\" ocs_live_extra_param=\"-q2 -c -j2 -z1p -i 2000 -p true saveparts win7-backup sda1\" ocs_live_keymap=\"NONE\" ocs_live_batch=\"yes\" ocs_lang=\"\" vga=788 ip=frommedia nolocales live-media-path=/live-hd bootfrom=/dev/sda7
initrd /live-hd/initrd.img
} 
主要就是修改ocs_live_extra_param這個參數,變成
ocs_live_extra_param=\"-q2 -c -j2 -z1p -i 2000 -p true saveparts win7-backup sda1\"

意思就是將sda1分割區存成名稱為win7-backup的映像檔

------------------------------------------------------------------------------------------------------
安裝winroll
若啟用sshd服務,服務所用的帳號為cyg_server,密碼存放在c:\cygwin\drbl_winroll-config\SSHD_SERVER_PW.txt

艾摩杰: Synology NAS + PXE 掛載iSCSI 打造無硬碟系統 啟動WinXP,Win7

艾摩杰: Synology NAS + PXE 掛載iSCSI 打造無硬碟系統 啟動WinXP,Win7: 須準備的硬軟體 1. iSCSI伺服器 (本篇使用Synology NAS DS1813+ DSM4.3-3776-2 示範) 2. Boot loader (筆者已經打包好檔案供下載) 3. 一台支援網路開機的電腦一台 (筆者使用intel PRO/1000 MT de...