2021年9月14日 星期二

RDP遠端桌面失敗,因為使用者模式驅動程式當機,裝置 Microsoft Remote Display Adapter (位置 (unknown)) 已離線


 RDP Client

您的遠端桌面工作階段已經結束,可能原因如下

系統管理員結束了工作階段

建立連線時發生錯誤

網路發生問題

請參考說明和支援的遠端桌面以解決問題


Event Log

因為使用者模式驅動程式當機,裝置 Microsoft Remote Display Adapter (位置 (unknown)) 已離線。Windows 會再嘗試重新啟動裝置 5 次。請連絡裝置製造商取得有關此問題的更多資訊。

VirtualBox 6 使用WDDM Driver

解決方式之一:RDP取消使用WDDM



Refer:

https://community.spiceworks.com/topic/2285553-remote-desktop-connection-failing-outside-of-lan
https://www.reddit.com/r/sysadmin/comments/hay9hd/the_device_microsoft_remote_display_adapter/

2021年9月13日 星期一

VBoxDrvStub: STATUS_OBJECT_NAME_NOT_FOUND

 

I run a VM on virtualbox 6.1.26 r145957, and got an error,

2e90.3314: Error opening VBoxDrvStub:  STATUS_OBJECT_NAME_NOT_FOUND

2e90.3314: supR3HardenedWinReadErrorInfoDevice: NtCreateFile -> 0xc0000034

2e90.3314: Error -101 in supR3HardenedWinReSpawn! (enmWhat=3)

2e90.3314: NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries)


Driver is probably stuck stopping/starting. Try 'sc.exe query vboxdrv' to get more information about its state. Rebooting may actually help.

19f0.2fd8: supR3HardenedWinCheckChild: enmRequest=2 rc=-101 enmWhat=3 supR3HardenedWinReSpawn: NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries)


Driver is probably stuck stopping/starting. Try 'sc.exe query vboxdrv' to get more information about its state. Rebooting may actually help.


sc.exe query vboxdrv

[SC] EnumQueryServicesStatus:OpenService 無法 1060:

指定的服務並不是已安裝的服務。 


Found 

C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf

On this inf file, on mouse right click, choose [Install] to install the vboxdrv


after then, you can query vboxdrv

sc.exe query vboxdrv

SERVICE_NAME: vboxdrv

        TYPE               : 1  KERNEL_DRIVER

        STATE              : 1  STOPPED

        WIN32_EXIT_CODE    : 1077  (0x435)

        SERVICE_EXIT_CODE  : 0  (0x0)

        CHECKPOINT         : 0x0

        WAIT_HINT          : 0x0


and then start vboxdrv by using administrator permission

sc start vboxdrv

SERVICE_NAME: vboxdrv

        TYPE               : 1  KERNEL_DRIVER

        STATE              : 4  RUNNING

                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)

        WIN32_EXIT_CODE    : 0  (0x0)

        SERVICE_EXIT_CODE  : 0  (0x0)

        CHECKPOINT         : 0x0

        WAIT_HINT          : 0x0

        PID                : 0

        FLAGS              :
















2018年11月27日 星期二

PHP develop on Win10, Domain Name Resolve Problem

When I use Bitnami WAMP on the Win10, I found out  that one connection consumes about 1.0x second. So below code needs about 4 seconds. Even when I use command line interface(CLI) to execute  it, such as php.exe or mysql.exe.

This is domain name resolve problem.

To Solve this problem you can replace "localhost" to "127.0.0.1".


$dbh = new PDO('mysql:host=localhost;dbname=dbname', 'user', 'pass');
$dbh = null;
$dbh = new PDO('mysql:host=localhost;dbname=dbname', 'user', 'pass');
$dbh = null;
$dbh = new PDO('mysql:host=localhost;dbname=dbname', 'user', 'pass');
$dbh = null;
$dbh = @new mysqli('localhost','dbname','pass','dbname');
$dbh->close();


Refer:
https://stackoverflow.com/questions/9800577/why-is-constructing-pdo-connection-slow

開發時PHP關閉暫存, OPCache.enable=0


OPCache 是 PHP 加速存取的功能,有用到的技術之一是暫存技術。


在開發時發現改完PHP源碼,但是網頁不能馬上看到修改結果,大約30秒到1分鐘才看得到修改後結果。原來是 bitnami WAMP 裡有開 opcache 功能。

開發PHP時關掉暫存快取功能,
file: php.ini
[opcache]
zend_extension=php_opcache.dll
; Determines if Zend OPCache is enabled
opcache.enable=0

References:
https://www.astralweb.com.tw/speed-up-your-magento-what-is-opcache/
https://www.ithome.com.tw/news/101602

2018年10月28日 星期日

Google Chrome Extensions : MinerBlock

隨著資訊發達,虛擬貨幣可以無中生有,不知道為什麼就是有人相信而使用它,只要有利可圖,當一堆人被哄騙了而相信就被使用了,他們完全不計後果代價。

有些網頁網站會在裡面暗藏 Javascript ,借用網頁瀏覽者的裝置效能(例如:CPU資源)來挖礦,還大言不慚地說並不會佔用太多瀏覽者的效能,而根是把所有的裝置效能都吃掉了,就為了「挖擴」,所以進這個網頁後就會發現電腦突然越跑越慢。

當遇到這個情形時,可以考慮使用有過濾 Javascript 的瀏覽器(例如:防毒軟體公司出品的Avast Secure Browser)或擴充功能(Google Chrome Extensions:搜尋 minerBlock 類似功能、或是 uBlock Plus Adblocker 還有過濾廣告功能),當進入有奇怪 Javascript 的網站時,就會先過濾掉,還使用者安靜的瀏覽環境。

2018年7月24日 星期二

DC user use the old profiles

local\oldacc

DC\newacc

1. 將舊 Profiles 的 ntuser.dat 的權限多加入網域帳號可完全控制。

先用網域帳號登入,再登出

用本機管理者權限開 regedit.exe ,選 HKEY_USERS , 再選 「檔案」=>「載入登錄區」,載入舊 Profiles 的 ntuser.dat。

2. 設定網域帳號的Profile資料夾路徑為舊Profiles資料夾路徑

找出修改:

電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\{SID}

待測試。

2018年4月30日 星期一

[MSSQL] Create a request certification for MSSQL

產生需求憑證給MSSQL’s SSL:

;—————– request.inf —————–
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=FQDN" ; replace with the FQDN of the DC
KeySpec = 1
KeyLength = 2048
; Can be 1024, 2048, 4096, 8192, or 16384.
; Larger key sizes are more secure, but have
; a greater impact on performance.
Exportable = FALSE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; this is for Server Authentication
;———————————————–
[Extensions]
    2.5.29.17 = "{text}"
    _continue_ = "DNS=name1&"
    _continue_ = "DNS=name2"

;—————– END Of request.inf —————–

c:\>certreq –new request.inf output_file_for_CAtoSign.req

Then you can sign this .req, and import it to server that generates it. And you can find out this certificate for MSSQL SSL Encryption.

2018年4月24日 星期二

Sophos AutoUpdate Failed and to change Connection Address in iconn.cfg

Sophos On Platform WIN_81_SVR_X64 (Windows 2012 Standard R2)

C:\ProgramData\Sophos\AutoUpdate\Config

C:\ProgramData\Sophos\AutoUpdate\Config\iconn.cfg  -  This file contains the configuration of AutoUpdate in respect of the update locations and accounts used.

Looks like

;****************************************************************************
;
; iconn.cfg
;
; Please do not edit this text file.
;
;****************************************************************************

[PPI.WebConfig_Primary]
AllowLocalConfig = 0
AutoDialTimeout =
LocalPath =
DownloadGranularity =
ConnectionAddress = http://{ADDR}/sophos/CIDs/S000/SAVSCFXP/
UserName = xxx
UserPassword = xxx
ConnectionType = HTTP
UseSophos = 0
UseHttps = 0
UseDelta = 0
AutoDial = 0
BandwidthLimit = 0

[PPI.ProxyConfig_Primary]
AllowLocalConfig = 0
ProxyPortNumber = 0
ProxyType = 0

[PPI.WebConfig_Secondary]
AllowLocalConfig = 0
AutoDialTimeout =
LocalPath =
DownloadGranularity =
ConnectionAddress = http://es-web.sophos.com/update/
UseSophos = 1
UseHttps = 0
UseDelta = 0
PortNumber =
UserName = xxx
UserPassword = xxx
ConnectionType = HTTP
AutoDial = 0
BandwidthLimit = 0

[PPI.ProxyConfig_Secondary]
AllowLocalConfig = 0
ProxyPortNumber = 0
ProxyType = 0

Refer:

https://community.sophos.com/kb/en-us/36262

2018年3月18日 星期日

[C#] Telerik RadComboBox 注意事項 problem

當設定 RadComboBox MaxLength=n時,但在 CodeBehide 或是 ASP.NET RadComboBoxItem Text 多加一些前置文字,但Value不會超過MaxLength,Text字數大於MaxLength會導致表單送(POST)不出去。

如有此需求,這最好是改用 ItemTemplate 另外設計新介面,較為恰當。

2018年3月15日 星期四

[C#] SqlDataSource 不允許從資料類型 sql_variant 隱含轉換到 uniqueidentifier。請使用 CONVERT 函數來執行查詢。

在VS2010 Design介面設定SqlDataSource時,勾選從系統產生的預防資料同步修改時,產生的衝突 ASP.NET 代碼,當資料庫欄位為 uniqueidentifier 時,ASP.NET代碼產生:

<asp:Parameter Name="original_gid" Type="Object" />

此會造成

System.Data.SqlClient.SqlException    不允許從資料類型 sql_variant 隱含轉換到 uniqueidentifier。請使用 CONVERT 函數來執行查詢。

此時要把 Type="Object" 刪除,改成如下:

<asp:Parameter Name="original_gid" />

Refer:

http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD200710311108001NI.html

https://dotblogs.com.tw/mis2000lab/archive/2010/11/03/uniqueidentifier_sqldatasource.aspx

2017年11月10日 星期五

Q21 移植OS


安裝 KingStone 480G mSata SSD

以USB開機,使用Ghost 將舊硬碟到新硬碟。完成後關機,拆下舊硬碟。

用Windows 光碟 修復開機


使用磁碟查看工具
diskpart
列出硬碟磁區,查看windows目錄碟區
list volumn
quit
修復開機,此例為 設定 目前的 C: 為 c:\windows;如果有多個硬碟,可能不一定是C: 
bcdboot c:\windows /s c: /f UEFI

References: https://kheresy.wordpress.com/2016/05/17/convert-windows-to-uefi/

2017年7月20日 星期四

PostGreSql install dblink module

Refer: https://stackoverflow.com/questions/5075193/installing-dblink-for-postgres-9

PG 9.1後,可用下列方式,

先在OS安裝套件:

yum install postgres*contrib
在資料庫裡執行(安裝方式):
CREATE EXTENSION dblink;
缷載(反安裝)方式:
DROP EXTENSION dblink;

2017年7月11日 星期二

問題:Network error: No buffer space, 無法瀏覽網頁

 

Problem:

瀏覽器無法看網頁,但還是可以Ping出去,開putty發生 Network Error: no buffer space。

Event Log:

TCP/IP 無法建立傳出連線,因為選取的本機端點最近曾用來連線到相同的遠端端點。這個錯誤的發生時 機,通常是在傳出連線的開啟和關閉次數太頻繁,導致所有可用的本機連接埠都已用盡,並且迫使 TCP/IP 必須重複使用本機連接埠做為傳出連線。為將資料損毀的風險降到最低,TCP/IP 標準要求必須 經過一段最小時間週期之後,才能再從本機端點連線到遠端端點。

Event number 4227

Network error: No buffer space

Reason:

TCP重態連接埠範圍被用完了,可能是防毒軟體一直不能連到授權的伺服器,造成一直重試,以致短時間內用完了動能連接埠。

Status:

netsh interface ipv4>show dynamicportrange tcp

通訊協定 tcp 動態連接埠範圍
---------------------------------
開始連接埠        : 49152
連接埠數目        : 16384

Solution:

netsh int ipv4 set dynamicport tcp start=10000 num=20000

改完後立馬解決。

新增下列機碼,可能可以長期解決:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Value Name: MaxUserPort
Value Type: DWORD
Value data: 65534
Valid Range: 5000-65534 (decimal)
Default: 0x1388 (5000 decimal)

Value Name: TcpTimeWaitDelay
Value Type: DWORD
Value data: 30
Default: 240 (in seconds, 4 minutes)

2017年5月10日 星期三

居留證號、統一證號、出入境許可證號 分不清嗎?

 

 

Refer:

附件二

統一證號編碼規則

一、統一證號編列規則:

共計十碼,第一碼為區域碼(同國民身分證)、第二碼為性別碼(入出境管理局使用AB;警察局外事科/課使用CD)、第三至九碼為流水號、第十碼為檢查號碼。

二、檢查號碼計算規則:

第一碼英文字母轉換為二位數字碼(轉換之數字與國民身分證同),分別乘以特定數;第二碼英文字母轉換成二位數字後,只取尾數乘以特定數;餘第三~九碼,亦分別乘以特定數。檢查號碼=10-相乘後個位數相加總和之尾數。惟若相乘後個位數相加總和尾數為0,則逕以「0」為檢查號碼。

舉例:FA12345689

(F:轉換為15,A轉換為10─>取尾數「0」)

【第一碼區域及第二碼性別之英文碼,先依據下列數字表換算,惟性別轉換後之二位數字碼,只取尾數。】

A

B

C

D

E

F

G

H

J

K

L

M

N

P

10

11

12

13

14

15

16

17

18

19

20

21

22

23

Q

R

S

T

U

V

X

Y

W

Z

I

O

   

24

25

26

27

28

29

30

31

32

33

34

35

   

1501234568(統 號)

×1987654321(特定數)

1507256528(不進位)

1+5+0+7+2+5+6+5+2+8

=41(將相乘後個位數相加)

「41」(取尾數1───若尾數為0,則逕以「0」為檢查號碼)

檢查號碼=10-1=9

三、基資登錄標準:

依據機器可判讀護照(Machine Readable Passport,簡稱MRP護照)之編列規則登錄個人基本資料(先姓後名,姓名及護照號碼均不准登錄標點符號)。

四、新舊居留證號轉碼方式:

例:舊號:A123456 ──>新號:AC01234567

說明:第一碼維持不變;第二碼依實際性別轉換為C或D;第三碼補0;第四至九碼帶入舊號之六位數流水號碼;第十碼依據前述檢查號碼計算規則計算得出。

======================================

Refer: https://www.ntbt.gov.tw/etwmain/web/ETW118W/CON/2092/4825089777774179556?tagCode=

http://iff.immigration.gov.tw/ct.asp?xItem=1249011&ctNode=34393&mp=iff_ch

何謂「外僑統一證號」?由何機關配賦及如何編排?

自96年1月2日起:
(一)由內政部移民署針對港澳、大陸地區人民及華僑於核發臺灣地區居留證時,配賦統一證號。
(二)由內政部移民署針對一般之外僑於核發外僑居留證時,配賦統一證號。
(三)未曾取得前述機關所發證件,而有申報所得稅需要之已入境外國人或在臺無戶籍本國人,一般外僑可由當事人或受託人檢附護照,向內政部移民署提出申請,港、澳、大陸地區人民及華僑則檢附臺灣地區入出境許可證件,向內政部移民署及其所屬台中、高雄及花蓮服務站提出申請核發「中華民國統一證號基資表」。

有關統一證號之編排方式如下:

「統一證號」計有10個欄位,第1位為區域碼,第2位依據性別及核發機關分別為A、B、C、D,第3位至第9位係流水號,第10位為檢查號,即外僑居留證上所載之統一證號。例如:

(一)
Mr. Robert W. Davison持有外僑居留證,他的統一證號即為AC12345678。

(二)
Ms. Carol Lee持有外僑居留證,她的統一證號即為HD12345678。

=======================================

Refer: http://ncp.immigration.gov.tw/GlobalQA/pages/commoncp/cp_foreign.html

    外來人口網路申請統一證號

    申辦方式

    「申請統一證號」線上申辦

    申請須知
    1. 申請對象:在臺大陸地區人民、香港澳門居民及台灣地區無戶籍國民
      (無戶籍國民是指具有我國國籍,現僑居國外國民及取得、回復我國國籍未曾在台灣地區設有戶籍之國民。)
    2. 居留證或入出境許可證上已有統一證號者,免再申辦。
    3. 居停留證號碼:係指入出國及移民署核發之臺灣地區居留證或入出境許可證號碼,為10~12碼之阿拉伯數字。
    4. 線上申請僅提供最近一次或1983年以 後的區間資料。
    5. 持中華民國護照者,「居停留證號碼」請填護照上粘貼之臨人字入出國許可證號,如100臨人字第32700038號, 應填10032700038。如91臨人字第32700038號,應填9132700038。
    常見問題
    1. 外國人為何不能上網申請統一證號?
    2. 外國人如何申請統一證號?
    3. 一般短期來台停留之外國人如何申請統一證號?
    4. 若當事人已忘記了當初申請之統一證號,移民署服務站是否能查詢?或需要重新申請?
    5. 如果當事人長期不住在臺灣,但因銀行開戶須提示統一證號時,應向何處申請配賦該號碼?
    6. 統一證號與國民身分證號有無差異?

======================================

2017年4月20日 星期四

關閉PostgreSQL閒置連線

Refer:

How to close idle connections in PostgreSQL automatically?

http://stackoverflow.com/questions/12391174/how-to-close-idle-connections-in-postgresql-automatically
 
WITH inactive_connections AS (
    SELECT
        pid,
        rank() over (partition by client_addr order by backend_start ASC) as rank
    FROM 
        pg_stat_activity
    WHERE
        -- Exclude the thread owned connection (ie no auto-kill)
        pid <> pg_backend_pid( )
    AND
        -- Exclude known applications connections
        application_name !~ '(?:psql)|(?:pgAdmin.+)'
    AND
        -- Include connections to the same database the thread is connected to
        datname = current_database() 
    AND
        -- Include connections using the same thread username connection
        usename = current_user 
    AND
        -- Include inactive connections only
        state in ('idle', 'idle in transaction', 'idle in transaction (aborted)', 'disabled') 
    AND
        -- Include old connections (found with the state_change field)
        current_timestamp - state_change > interval '5 minutes' 
)
SELECT
    pg_terminate_backend(pid)
FROM
    inactive_connections 
WHERE
    rank > 1 -- Leave one connection for each application connected to the database

 

Get all procedural , user defined functions

Refer: http://stackoverflow.com/questions/16632117/get-all-procedural-user-defined-functions

select 
    pp.proname,
    pl.lanname,
    pn.nspname,
    pg_get_functiondef(pp.oid)
from pg_proc pp
inner join pg_namespace pn on (pp.pronamespace = pn.oid)
inner join pg_language pl on (pp.prolang = pl.oid)
where pl.lanname NOT IN ('c','internal') 
  and pn.nspname NOT LIKE 'pg_%'
  and pn.nspname <> 'information_schema';

2017年4月18日 星期二

取得使用者自訂Function

Refer:

http://stackoverflow.com/questions/16632117/get-all-procedural-user-defined-functions


PostgreSQL 取得自訂的Functions, procedures
select 
    pp.proname,
    pl.lanname,
    pn.nspname,
    pg_get_functiondef(pp.oid)
from pg_proc pp
inner join pg_namespace pn on (pp.pronamespace = pn.oid)
inner join pg_language pl on (pp.prolang = pl.oid)
where pl.lanname NOT IN ('c','internal') 
  and pn.nspname NOT LIKE 'pg_%'
  and pn.nspname <> 'information_schema';

2017年4月7日 星期五

Web JAVA出現『應用程式已被安全設定值封鎖(或過期)等』問題,該如何排除?

Refer:

http://www1.jihsun.com.tw/QA/java.htm

http://www1.jihsun.com.tw/QA/java-2.htm

問題:執行Web Java Applet出現「您的安全設定值讓應用程式無法在過時或過期的Java版本執行」

(只要設定好,再重開瀏覽器,就可以執行了,不需要重新開機。)

解決方式,可請參考日盛網頁排除方式。

排除方式二:請參照下方步驟1.2

步驟1:由[控制台] → [程式集] → 開啟JAVA控制面板

點選[一般]頁籤,按[關於(B)],確認JAVA版本是不是JAVA 8 UPDATE 25:

步驟2:點選[一般]頁籤,按[設定值(S)],『在我的電腦上保留暫存檔案(K)』不勾,再點
『刪除檔案』,僅勾『追蹤和記錄檔案』,在按確認兩次回到『一般』頁籤。

點選[安全]頁籤,將安全層次調整為『高』,再點『編輯網站清單(S)』,依序將以下六組網址複製(CTRL+C),貼上(CTRL+V) 至『新增』清單內。

http://jsjustweb.jihsun.com.tw
http://rt.moneydj.com.tw
http://www.jihsun.com.tw
http://www.moneydj.com
http://rt2.moneydj.com.tw
https://jfeclweb.jihsun.com.tw/

點選[進階]頁籤,勾選下圖紅框處,按套用,再按確定。

以上動作完畢,請關機重新啟動電腦~

2017年4月5日 星期三

Jasper Reports Embedding Images 嵌入圖片

Refer:

http://dltj.org/article/embedding-graphics-in-jaspersoft-report-files/

http://wiki.emprisecorporation.com/images/f/fb/Emprise-jasper-reports-images.pdf

在調色板加入新圖, Expression Class 為 java.lang.String ,Image Expression 輸入如下:


newjava.io.StringBufferInputStream(neworg.w3c.tools.codec.Base64Decoder($V{IMAGE_BYTES}).processString())

這不需要另外 import 其他的 Base64 Decoder,ireport lib裡已有。

2017年3月31日 星期五

Java 取得 request 的完整根網址

Java 取得 request 的完整根網址:


URL root = new URL(request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort());

2017年3月18日 星期六

iReport 5.6.0 需要用 JRE 7執行

Refer: http://community.jaspersoft.com/ireport-designer/issues/3593

iReport 5.6.0 不支援JRE8,需要用 JRE 7執行,用JRE8執行會開不起來,查log可以看到 Exception:

java.lang.IllegalStateException: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"