2014年11月25日 星期二

VB.Net 的 路徑 在 Schedule Job 與 Command Prompt 差在哪?

執行 這篇 的說明, 得到下面的值.. 紀錄一下.. 否則看xxx 的說明, 也會曲解意思.. 

Schedule Tasks (排程)下的執行結果: 
1.取得和設置當前目錄(即該進程從中啟動的目錄)的完全限定路徑。 
System.Environment.CurrentDirectory: 
結果:C:\Windows\system32 

2.取得啟動了應用程序的可執行文件的路徑,不包括可執行文件的名稱。 
System.Windows.Forms.Application.StartupPath: 
結果:D:\EvnPathTest\EvnPathTest\bin\Debug 

3.取得應用程序的當前工作目錄。 
System.IO.Directory.GetCurrentDirectory(): 
結果:C:\Windows\system32 

4.取得當前 Thread 的當前應用程序域的基目錄,它由程序集衝突解決程序用來探測程序集。 
System.AppDomain.CurrentDomain.BaseDirectory: 
結果:D:\EvnPathTest\EvnPathTest\bin\Debug\ 

5.取得和設置包含該應用程序的目錄的名稱。 
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase: 
結果:D:\EvnPathTest\EvnPathTest\bin\Debug\ 

6.取得啟動了應用程序的可執行文件的路徑,包括可執行文件的名稱。 
System.Windows.Forms.Application.ExecutablePath: 
結果:D:\EvnPathTest\EvnPathTest\bin\Debug\EvnPathTest.exe 

7.取得當前執行的exe的文件名。 
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName: 
結果:D:\EvnPathTest\EvnPathTest\bin\Debug\EvnPathTest.exe 

8.取得當前進程的完整路徑,包含文件名。 
Me.GetType().Assembly.Location: 
結果:D:\EvnPathTest\EvnPathTest\bin\Debug\EvnPathTest.exe 


命令提示字元(Command Prompt)下的執行結果: 
1.取得和設置當前目錄(即該進程從中啟動的目錄)的完全限定路徑。 
System.Environment.CurrentDirectory: 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug 

2.取得啟動了應用程序的可執行文件的路徑,不包括可執行文件的名稱。 
System.Windows.Forms.Application.StartupPath: 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug 

3.取得應用程序的當前工作目錄。 
System.IO.Directory.GetCurrentDirectory(): 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug 

4.取得當前 Thread 的當前應用程序域的基目錄,它由程序集衝突解決程序用來探測程序集。 
System.AppDomain.CurrentDomain.BaseDirectory:
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug\ 

5.取得和設置包含該應用程序的目錄的名稱。 
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase: 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug\ 

6.取得啟動了應用程序的可執行文件的路徑,包括可執行文件的名稱。 
System.Windows.Forms.Application.ExecutablePath: 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug\EvnPathTest.exe 

7.取得當前執行的exe的文件名。 
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName: 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug\EvnPathTest.exe 

8.取得當前進程的完整路徑,包含文件名。 
Me.GetType().Assembly.Location: 
結果:D:\Work\VBWork\EvnPathTest\EvnPathTest\bin\Debug\EvnPathTest.exe 


由結果來看, 系統排程與手動執行差在 :GetCurrentDirectory 及 CurrentDirectory 

2014年5月9日 星期五

以 lmhosts 指定網域控制器位置

有點困擾的問題.. 紀錄一下.. 

最近有一個 單一認證服務(SSO) 的網站 , 有加入網域, DNS 伺服器是指向網域控制器(DC)

但是因為某種原因,DNS必須指到外部DNS 。

這個改變造成 網站無法單一登入。

覺得應該是外部DNS 不知道 網域控制器在哪兒,因此需用於 lmhosts 來另外指定。

參考這份參考文件  ,第一行指定"網域名稱"(需大寫),第二行指定網域控制器是哪一台機器名稱

如有兩台以上的網域控制器,可往下加。

設定好後,用 

C:\> nbtstat -R => 清除並重新載入NetBIOS cache

C:\> nbtstat -c => 列出 NetBIOS Cache name table. 






2014年4月24日 星期四

Free 且可設定PDF 文件到期日的PDF保全軟體

找到好東西,紀錄一下....

目前Office 2010/2013 可以將文件於另存新檔時,轉存成PDF格式。方便好用,但缺點是缺少一般安全性的功能。 

一般Free 免費的PDF製作軟體,如: doPDF, PDF Creator 等,是透過安裝成虛擬印表機的方式,於文件列印時,透過虛擬印表機列印製作成PDF,能做到一般的禁止列印、禁止擷取或開啟需密碼等,但不能做到設定文件過期的功能。

今天找到一套 Free 的,可以設定 "文件期限"(Document Expired Time )的PDF 保全軟體(PDF Security OwnerGuard )。

以下是12.7.8 個人版的畫面,

1. 建立新計畫:
    第一步:點選 "Create New Project" 建立計畫名稱

  第二步:設定時間限制 (Time Limitation ) 的到期日。

2. 開始加密PDF: 點選主頁面的 【Protect Your File】
    第一步:挑選檔案:  


    第二步:挑選專案(Project):  

     第三步:設定開啟密碼

    第四步:挑選浮水印的檔案: 只有第一頁會被當成浮水印..  ,否則就用預設,無浮水印(No Watermark)

    第五步:設定匯出目錄:   並點選【Protect Security Files】來進行轉出。

這樣就完成了~



2014年1月17日 星期五

救回遺失Windows 2008R2 的100MB :Bootmgr is missing

話說今天一台Windows 2008 R2機器發生硬體(磁碟)問題,作業系統無法運作,臨時倒備份的IMAGE,才發現缺少關鍵的系統保留碟(System Reserved)。

開機後,停在BOOTMGR is missing 的字樣,未免忘記,將查到的做法紀錄一下!

 1. Boot from your Windows Server 2008 R2 x64 DVD.
2. Repair
3. Command Prompt
4. rename c:\boot\BCD bcd.old 
5. Bootrec /RebuildBcd  以下設定系統保留碟為系統啟動的第一個磁區。
6. diskpart
 7. select disk 0  (可先用 list 來確認有幾棵disk)
8. select partition 1 (the 100MB partition) (可先用 list 來確認 100MB partition 在第幾個序號)
 9. active 設定完畢
10. exit
11. reboot server and remove DVD 來源連結