Thursday, July 15, 2021

使用 W32tm 替 Windows 10 設定 NTP 校時伺服器

 w32tm /query /status /verbose  查詢校正時間動作狀態 




w32tm /stripchart /computer:tw.pool.ntp.org /samples:30  查詢30次 NTP server 並顯示時間偏差圖  /dataonly 僅顯示資料




w32tm /config /manualpeerlist:tw.pool.ntp.org /syncfromflags:ALL or manual   /reliable:yes /update  手動設定 ntp server 並 UPDATE 資料




另外可能還涉及下面的 系統管理範本


gpedit.msc

本機- 電腦設定- windows 設定- 安全性設定-本機原則-使用者權限指派-變更時區  增加使用者帳號 

gpedit.msc

本機- 電腦設定- 系統管理範本- 系統- Windows時間服務-
打開全域設定,
設定時間提供者 -設定Windows NTP 用戶端 其中的NTP  Server 及 SpecialPollInterval 增加時間位移量容許值從300秒--> 1200秒


及registry 


1 設定tw.pool.ntp.org 為服務伺服器

2 設定服務型態為 NTP



HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time


reg 檔案如下:


Windows Registry Editor Version 5.00




[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time]




[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time\Config]


"FrequencyCorrectRate"=dword:00000004


"HoldPeriod"=dword:00000005


"LargePhaseOffset"=dword:02faf080


"MaxAllowedPhaseOffset"=dword:000004b0


"MaxNegPhaseCorrection"=dword:0002a300


"MaxPosPhaseCorrection"=dword:0002a300


"PhaseCorrectRate"=dword:00000001


"PollAdjustFactor"=dword:00000005


"SpikeWatchPeriod"=dword:00000384


"UpdateInterval"=dword:00000064


"AnnounceFlags"=dword:0000000a


"EventLogFlags"=dword:00000002


"LocalClockDispersion"=dword:0000000a


"MaxPollInterval"=dword:0000000a


"MinPollInterval"=dword:00000006


"ClockHoldoverPeriod"=dword:00001e78


"RequireSecureTimeSyncRequests"=dword:00000000


"UtilizeSslTimeData"=dword:00000001


"ClockAdjustmentAuditLimit"=dword:00000320


"ChainEntryTimeout"=dword:00000010


"ChainMaxEntries"=dword:00000080


"ChainMaxHostEntries"=dword:00000004


"ChainDisable"=dword:00000000


"ChainLoggingRate"=dword:0000001e




[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time\Parameters]


"NtpServer"="tw.pool.ntp.org"  


"Type"="NTP"   




[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders]




[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time\TimeProviders\NtpClient]


"CrossSiteSyncFlags"=dword:00000002


"ResolvePeerBackoffMinutes"=dword:0000000f


"ResolvePeerBackoffMaxTimes"=dword:00000007


"SpecialPollInterval"=dword:00000e10


"EventLogFlags"=dword:00000000


"Enabled"=dword:00000001





Monday, April 26, 2021

Windows 10 WSL 2 IP 變動 使用 xwindow 的解法

 Windows 10 WSL 2 IP 變動的解法


Widows 10  19042 以後, WSL 已可使用 WSL2 , 在windows 10 中可以安裝 Debian or UBUNTU等等LINUX 環境, 但是有一個小問題, 每次重新啟動後, WSL 環境的網路卡IP 都會變來變去 .

如果要用 Xwindow 連接到本機的螢幕顯示些圖形界面或影像資料, 都必須查詢主機本身的IP
(WSL 1 可以用DISPLAY=localhost:0.0 即可, WSL 2 無法用 DISPLAY=localhost:0.0)

為了能在登入時自動設定export DISPLAY=新IP:0.0  

可以在 WSL 環境中 的/etc/resolv.conf 中找到 nameserver=xxx.xxx.xxx.xxx

只要在登入時自動設定 xwindow 顯示的位置僅需將 上面的IP 取出, 嵌入 .bashrc 即可

在 .bashrc 中嵌入下面的指令即可

export DISPLAY=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'`:0.0


Tuesday, July 11, 2017

XP 隨風而逝, WAB 檔何去何從?

XP 不再之後,  Outlook Express 這個郵件軟體也隨之煙消雲散

很多使用outlook express 的WAB檔 (Windows Address Book)管理聯絡人資料的同仁在轉換到 Windows 7 之後都遇到一個問題

習慣從 Address.wab 匯入的聯絡人要如何新增, 匯出及匯入呢?

Ourlook 可以從 WAB 檔匯入, 可是XP没了又要如何管理 WAB檔案的新增及刪除呢?

原以為可以直接推 LDAP 目錄服務來取代 舊的匯入WAB 檔案的作法,
但是改變作法後, 同仁叫苦連天, 常常要教人使用LDAP實在很麻煩。

另外想了一個作法,
1 在 outlook 中查詢LDAP, 取得名錄中的資料後存入連絡人資料匣,
2 再將所有的聯絡人的 vcard 當作附件寄給自己, 所有的附件另存為獨立的 VCARD  檔,
3 再由其他PC中的軟體去讀入最新的連絡人資料即可維持接近原來 WAB檔的使用者經驗.....

4 最後讓同仁到VCARD 的路徑中找到新的連絡人.vcf檔再匯入成為自己的連絡人就可以了。


Tuesday, April 18, 2017

Windows Server File Undelete, 微軟 Windows 伺服器 檔案救援軟體

伺服器通常都有備份, 但是為了幾個誤刪的檔案要停止服務再大張旗鼓的倒回資料也不太實際。

為了救回幾個使用者誤刪的資料檔案, 測試了下面幾個軟體


  1. NTFS Undelete 3.0
    快速找到要回復的資料, 但要回存時就要您的 $$,  約50~70 USDPS 解除安裝時, 還會跳出一個畫面, 有優惠, 約20 USD。
  2. pdr7free
    快速找到刪除的資料, Free 版本只能回復1G的資料。 Windows server 無法執行。約60USD
  3. FreeUndelete
    可免費執行, 但在中文版的Windws Server上畫面無法清楚辨識, 回復作業不易執行
  4. kickass  undelete 簡稱 KU
    可免費執行, 免安裝直接執行就可以了, 需要安裝 dot.net
    在中文版的 Windows Server 上也可以顯示中文檔名
    是四套軟體中最方便的。
提醒一下, 要完整救回檔案不能等, 越快越好, 誤刪的磁碟區域要暫停寫入的動作並立即開始復原的作業為佳。


Monday, September 14, 2015

BAT檔案的幾個小技巧

好久没有使用BAT檔寫程式了,  最近為了自動備存偵測器機器上的記錄資料, 翻找了一些BAT檔案的程式資料, 順便記錄一下免得以後忘了 \
(XP下跑OK, 其他平台格式等可能要試試看是否不同)



1  日期時間的操作
rem 取得目前時間及日期
rem 若小時 為0~9, 時間位數仍為2位,
rem 但因前置空位不會自動補0, 在10:00以前會成為 " 1"," 2".." 9"
rem 在10:00以前會造成2種錯誤:  1st 被誤判為8進位, 2nd第1字元"0"不可見,
rem 此類錯誤在10:00以後不會發生, 常造成測試時間不同時, 測試結果的不同
rem PS 時間顯示格式, 可能會因作業系統不同而不同, 需配合修改
rem ps 另需注意 12/24小時制也有可能有差異

rem 取得目前系統時間 如 14:17:55.23, 並於 前置位置為空時補上"0"
set NOWT=%TIME: =0%
rem 取得目前系統日期 如  2015/09/14 星期一
set NOWD=%DATE%

rem
rem 為分別取出 月份 mm及分mm,改為mmd:月mmt:分 dd:日期  yy:年 ww:星期 hh:時 ss:秒
rem DOS prompt 中字串前帶0, 會被視為8進位數字07以下set /a動作正常, 但08及09 需特別處理
rem 參考網路資料, 可將具有前置0的常數, 重新處理為不帶0的常數
rem 字串第一個位址, index=0
rem set 使用注意: 後綴的空白字元亦會出現在常數, 打字時需特別注意,
rem 已設定的常數在同一個 DOS session 中持續有效, 重開DOS session 後會清除

rem 依                           時     分         秒    年    月         日    星期 取出
rem 分別設定給 常數 : hh0   mmt0   ss0  yy0  mmd0   dd0  ww0
rem 自字串第0位開始取2位(0,1)作為時間的"時"值, 第2位為時間分割符號":"
set hh0=%NOWT:~0,2%
rem 自字串第3位開始取2位(3,4)作為時間的"分"值, 第5位為時間分割符號":"
set mmt0=%NOWT:~3,2%
rem 自字串第6位開始取2位(6,7)作為時間的"秒"值
set ss0=%NOWT:~6,2%
rem 自字串第0位開始取4位作為"年份"值
set yy0=%NOWD:~0,4%
rem 自字串第5位開始取2位作為"月份"值
set mmd0=%NOWD:~5,2%
rem 自字串第8位開始取2位作為"日"值
set dd0=%NOWD:~8,2%
rem 自字串第11位開始取3位作為"星期"值
set ww0=%NOWD:~11,3%

rem 參考網路資料, 可將具有前置0的常數, 重新處理為不帶0的常數
rem 並指定給 hh,mmt,ss,yy,mmd,dd
if %hh0:~0,1%  == 0  (SET /A  hh=%hh0:~1,1%+0)   else (set /a hh=%hh0%+0)
if %mmt0:~0,1%  == 0 (SET /A  mmt=%mmt0:~1,1%+0) else (set /a mmt=%mmt0%+0)
if %ss0:~0,1%  == 0  (SET /A  ss=%ss0:~1,1%+0)   else (set /a ss=%ss0%+0)
rem yy > 2015 不需額外處理
set yy=%yy0%
if %mmd0:~0,1%  == 0 (SET /A  mmd=%mmd0:~1,1%+0) else (set /a mmd=%mmd0%+0)
if %dd0:~0,1%  == 0  (SET /A  dd=%dd0:~1,1%+0)   else (set /a dd=%dd0%+0)
rem ww <7 p="">set ww=%ww0%

2 常數的加減乘除

rem SET /A 可對常數進行運算,
rem 特別注意DOS prompt 中字串前帶0, 會被視為8進位數字07以下set /a動作正常, 08及09 需特別處理, 10以後會即會以10進位處理

rem 計算前1日日期並設為 dda(數字) ,
rem dda補0後設為dds(字串)取最後兩位產生兩位數的前一日日期字串

set /a dda=%dd%-1
rem 設定日期前補 "0"   1=> 01 ,  2=>02 , 3=>03 ....10=>010, 11=>011, 用以產生檔名字串
set dds=0%dda%
rem %dds:~-2% 取日期字串最後2位  01=01    011=11 取得前一日之記錄檔檔名
set LOG_FILE=%yy%-%mmd%-%dds:~-2%.txt

3 列舉路徑中的檔案 for %i in (*) do (command)
引用參數要再前置 %
FOR %%i in (*.txt) do copy %%i old_data2



Sunday, March 30, 2014

隨風而逝的XP, 設定IPv6的方法

4月份的第一件大事就是 微軟要停止 支援 XP 的各項修正支援了,
在XP生命結束前的最後一B, 就寫XP 的IPv6 設定唄!

1 自動設定 
    XP 的IPv6設定最簡單的就是 Stateless 的自動設定了,
    打開 XP的IPv6支援後 預設就會接受 來自 路由器發布的 路由Advitizement 及自動設定 v6 IP
  1. 執行安裝 (SP2後也可以從控制台的網際網路安裝 IPv6 協定) 
    • c:\> netsh  int ipv6 install
  2. 解除安裝 (SP2後也可以從控制台的網際網路解除安裝 IPv6 協定)
    • c:\> netsh  int ipv6 uninstall 
  3. 只要Stateless 路由器(或radvd service)設定正確, 即可自行配發 IP v6 位址及路由資訊
 2手動設定
    為配合Stateful 環境, 必須配置固定的 v6 IP 的話, 電腦少的話直接配置也可以
  1. 安裝
    1. c:\> netsh  int ipv6 install  
  2. 設定 IP
    • c:\> netsh int ipv6 add address "區域連線" address=2001:1234:1234:xxxx::xxxx
  3. 移除IP
    • c:\> netsh int ipv6 del address "區域連線" address=2001:1234:1234:xxxx::xxxx
  4. 增加預設路由
    • c:\> netsh int ipv6 add route ::0  "區域連線" address=2001:1234:1234:xxxx::yyyy (路由器 v6IP)
  5. 解除安裝
    • c:\> netsh  int ipv6 uninstall
感謝 XP,   再會了



Monday, August 05, 2013

Windows 7 中將 SD卡 格式化為FAT16 格式

這篇目的是為了處理給3D 印表機用的SD卡

3D 印表機的卡常用的是 SD  (不是SDHC或SDXC喔!)
但是在Windows 7中格式化作業直接format 出來的常常卻不能讀

解決的方法有3個
1  下載磁碟工具如 DiskGenius, HP USB Disk Storage Format Tool 
     將 SD 卡格式化為 FAT16    32K 的磁簇(配置單位大小
2   於 CMD 視窗中執行下列指令
      format X:   /fs:fat    /A:32k  /q
      說明如下:
      format  X:  格式化所選的磁碟  (SD 卡所掛載的磁碟位置)
      /fs:fat          使用FAT格式(W7 中預設為 FAT16)
      /A:32k        配置單位大小(磁簇大小)
      /q                快速格式化
3  利用系統內建工具管理要格式化的SD卡
     format 工具選擇 FAT 及配置單位大小 為32 K
    說明:  2G 以下的磁碟 format 工具預設格式即為 FAT,
               但預設配置單位大小為64K, 3D 印表機不能讀, 請改為32K或以下


注意事項
FAT 16  理論上最大容量4GB
檔案量最多為65536個(磁區配置大小 64K時總容量 4GB)
3D印表機的 SD 卡因無法讀取64K 磁簇, 最大只能讀32K 磁簇
最大容量會被限制在 2GB
將您的舊TF 卡, 舊SD 卡拿出來用時,
 請記得將它格式化成 FAT16 , 磁簇(配置單位大小)也要記得設為32K或以下喔!