2016年11月29日 星期二

Windows 7 User Profile Service服務無法登入



這個「User Profile Service服務無法登入」的問題,是剛才客戶所碰到的問題,由於我之前沒有碰過,因此相當的好奇,來分享一下要怎麼來解決這個問題。
  究竟這個「User Profile Service服務無法登入。無法載入使用者設定檔」的問題,是怎麼發生的呢?老實說,我還真不曉得,據苦主說,他只有在現有的使用者帳戶中,新增了登入密碼而已,就變這樣了...
  而這種狀況,非常類似「Windows無法載入存放本機上的設定檔」,所以當我看到這個狀況時,第一個想法,就是想要先進入到「安全模式」,然後再重新建立一個新的使用者帳戶,再登入這個新建立的使用者帳戶,最後再將這個無法登入的帳戶刪除。
 但結果並沒有這麼順利,首先,雖然無法可以在正常的模式登入帳戶,但只要進入安全模式之後,就可以順利登入這個無法登入的帳號,但很可能的是,在這樣的狀態之下,居然沒有辦法再建立新的使用者帳戶了,所以原本的想法是不可行的,最後只好求助Google。
  立即就找到微軟的這篇文章「微軟技術支援」,因此,我來針對微軟所提供的解決方法,來做個說明。
 在微軟提供的三種方法,如下:
  • 方法 1:修正使用者帳戶設定檔
  • 方法 2:登入 Windows 並將您的資料複製到新帳戶
  • 方法 3:刪除錯誤 SID 並建立新設定檔
  在某些狀況之下,並不是每個都可以實作的,比如說「方法3」這個方式,要使用這個方法,就是先到微軟官方網站,去下載一個「Microsoft Fix it 50446」,可是正當你利用了別台電腦去下載了這個檔案,並且放進這部電腦中時,你會發現到,這個程式居然沒有辦法在安全模式中執行,這搞屁啊?我今天電腦上,就只有一個使用者帳戶,而且這唯一的使用者帳戶,偏偏就已經無法登入了,那我要怎麼去使用這個程式呢?
  同樣的情況,在方法2中也是一樣,我雖然可以進入到安全模式,但問題現在也是沒有辦法再建立新的使用者帳戶,所以自然也沒有辦法將原本的使用者檔案資料,給複製到新的使用者帳戶裡面。
  所以,就只能利用「方法1」了,所以當你也和我一樣,電腦只建立了一個使用者帳戶,而這唯一的帳戶,卻發生了User Profile Service的問題時,就請直接用「方法1」來解決,除非你電腦裡面原本就有建立其他的使用者帳戶,並且其中一個帳戶是可以順利登入的,才有辦法使用「方法2及方法3」。

方法1:可以用現有無法登入的使用者,以安全模式方式登入後進行,且機碼修改所花費的時間很短。
安全模式下透過視窗界面無法新增帳後喔,請依下列方式進行
1.開啟命令提示字元(CMD)
2.用〔Net〕的命令增加一個使用者,例:增加一個使用者名為 user1,密碼為 123123123
  命令語法如下:net user user1 123123123 /add
3.將新增使用者提升至Administrator的權力,例:提升剛才增加使用者user1 的權力,
  命令語法如下 net localgroup administrators user1 /add
4.完成上列步驟後重新開機電腦,在啟動畫面上便增加了一個使用者 user1 了,選 user1 進入

方法2:依使用者的資料多寡,複製時間不一定,我遇到的USER通常都有20幾GB以上的資料(因為他都放在桌面
!!@#$%),所以建議是用方法1:就好了。



2016年11月17日 星期四

查MySQL LOCK

查MySQL LOCK

show processlist;
其中的state 欄位會出現 Locked;
依據ID 欄位可以執行 kill ID編號; 
進行刪除。

2016年11月9日 星期三

使用 find 尋找日期區間內的檔案


find 是 Unix/Linux 中好用的尋找檔案指令,本篇介紹如何使用 find 找出指定日期區間內的檔案。
使用 touch 建立一個修改日期為 2013-01-01 的檔案
touch --date "2013-01-01" /tmp/start.txt

使用 touch 建立一個修改日期為 2013-12-31 的檔案
touch --date "2013-12-31" /tmp/end.txt

尋找 /path 裡日期在 2013-01-01 與 2013-12-31 之間的檔案
find /path -type f -newer /tmp/start.txt -not -newer /tmp/end.txt


查看建立檔案的結果
ls --full-time  end.txt
-rw-r--r-- 1 root root 0 2013-12-31 00:00:00.000000000 +0800 end.txt

若是要找的檔案要當年,你需要將日期延後一天
touch --date "2014-01-01"  end.txt

或是加上時間
touch --date "2013-12-31 23:59:59"  end.txt
查看建立檔案的結果
ls --full-time  end.txt
-rw-r--r-- 1 root root 0 2013-12-31 23:59:59.000000000 +0800 end.txt

你也可以用
find /path -newermt "2013-01-01 00:00:00" ! -newermt "2013-01-01 23:59:59" -type f
RedHat 4.x, 5.5 沒有 newermt  這參數,RedHat 7.x 就有支援這參數了

參考來源:
https://goo.gl/Xl5Npb
http://liaozi.blogspot.tw/2014/11/find.html

使用 find 尋找日期區間內的檔案


find 是 Unix/Linux 中好用的尋找檔案指令,本篇介紹如何使用 find 找出指定日期區間內的檔案。
使用 touch 建立一個修改日期為 2013-01-01 的檔案
touch --date "2013-01-01" /tmp/start.txt

使用 touch 建立一個修改日期為 2013-12-31 的檔案
touch --date "2013-12-31" /tmp/end.txt

尋找 /path 裡日期在 2013-01-01 與 2013-12-31 之間的檔案
find /path -type f -newer /tmp/start.txt -not -newer /tmp/end.txt


查看建立檔案的結果
ls --full-time  end.txt
-rw-r--r-- 1 root root 0 2013-12-31 00:00:00.000000000 +0800 end.txt

若是要找的檔案要當天,你需要將日期延後一天
touch --date "2014-01-01"  end.txt

或是加上時間
touch --date "2013-12-31 23:59:59"  end.txt
查看建立檔案的結果
ls --full-time  end.txt
-rw-r--r-- 1 root root 0 2013-12-31 23:59:59.000000000 +0800 end.txt

你也可以用
find /path -newermt "2013-01-01 00:00:00" ! -newermt "2013-01-01 23:59:59" -type f
RedHat 4.x, 5.5 沒有 newermt  這參數,RedHat 7.x 就有支援這參數了

參考來源:
https://goo.gl/Xl5Npb
http://liaozi.blogspot.tw/2014/11/find.html