分類: Server

Windows.edb Defragmentation

Windows.edb Defragmentation

這是在處理Client問題時碰到的奇怪問題。Drive C切了150GB給他用,但是很弔詭的是User本身Profile大約只佔了8GB的空間,剩下的空間不停地被吃掉吃到變成0,排除不是病毒問題,也刪掉市面上已知道暫存檔案,清多少沒多久就會被吃多少,甚至把Page File搬到D也沒用,用檔案管理員去計算資料夾大小卻一直找不出來,後來用WinDirStat這個軟體找到了Windows.edb檔案,單檔92GB。

這檔案的用途大概是Windows索引的資料庫,在Windows7不會發生異常增大的狀況,但是在Windows 8 / 8.1 / 10 、Windows 2012之後版本,他很有可能會持續增長到Drive C硬碟空間不夠用。

所幸,這檔案可以離線瘦身,也可以砍掉重練

下面是瘦身方式,但是如果你的Drive C已經沒有空間可以運作,你必須先清出一定的空間讓他運作才能做瘦身。


1
2
3
4
5
6
7
8
Sc config wsearch start=disable
Net stop wsearch

EsentUtl.exe /d %AllUsersProfile%\Microsoft\Search\Data\Applications\Windows\Windows.edb

Sc config wsearch start=delayed-auto

Net start wsearch

1.先把Windows Search服務Disable
2.停止Windows Search服務
3.下指令開始瘦身
4.重新把服務設定為延遲啟動
5.啟動Windows Search服務

我自己的電腦測試原本大約5GB瘦身完畢變成4.6G。
如果想砍掉重練流程大概是

1.先把Windows Search服務Disable
2.停止Windows Search服務
3.刪除C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb
4.重新把服務設定為延遲啟動
5.啟動Windows Search服務(啟動時可能會出現錯誤,沒關係再啟動一次)

警告,砍掉重練會造成User暫時性無法搜尋檔案,需要等候系統自行重建索引檔。

Windows 10 1809 RSAT Tools

2018/10上線的Windows 1809遠端系統管理工具找不到可以直接下載的地方。
他必須使用DISM的方式把RSAT的功能從線上新增進去,下面是整段的指令,必須使用提升權限的指令模式來執行。

DISM.exe /Online /add-capability /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 /CapabilityName:Rsat.BitLocker.Recovery.Tools~~~~0.0.1.0 /CapabilityName:Rsat.CertificateServices.Tools~~~~0.0.1.0 /CapabilityName:Rsat.DHCP.Tools~~~~0.0.1.0 /CapabilityName:Rsat.Dns.Tools~~~~0.0.1.0 /CapabilityName:Rsat.FailoverCluster.Management.Tools~~~~0.0.1.0 /CapabilityName:Rsat.FileServices.Tools~~~~0.0.1.0 /CapabilityName:Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0 /CapabilityName:Rsat.IPAM.Client.Tools~~~~0.0.1.0 /CapabilityName:Rsat.LLDP.Tools~~~~0.0.1.0 /CapabilityName:Rsat.NetworkController.Tools~~~~0.0.1.0 /CapabilityName:Rsat.NetworkLoadBalancing.Tools~~~~0.0.1.0 /CapabilityName:Rsat.RemoteAccess.Management.Tools~~~~0.0.1.0 /CapabilityName:Rsat.RemoteDesktop.Services.Tools~~~~0.0.1.0 /CapabilityName:Rsat.ServerManager.Tools~~~~0.0.1.0 /CapabilityName:Rsat.Shielded.VM.Tools~~~~0.0.1.0 /CapabilityName:Rsat.StorageReplica.Tools~~~~0.0.1.0 /CapabilityName:Rsat.VolumeActivation.Tools~~~~0.0.1.0 /CapabilityName:Rsat.WSUS.Tools~~~~0.0.1.0 /CapabilityName:Rsat.StorageMigrationService.Management.Tools~~~~0.0.1.0 /CapabilityName:Rsat.SystemInsights.Management.Tools~~~~0.0.1.0

如果你的電腦是經由AD管控使用WSUS更新電腦,那你有可能在指令執行過程中收到0x800F0954的錯誤,處理方式必須經由GPO調整設定。
修改電腦設定>原則>系統管理範本>系統>指定選用的之元件安裝與元件修復的相關設定。下方的直接從Windows Update下載修復內容與選用功能,而不是從Windows Server Update Services(WSUS)下載打勾,然後等候套用即可

Windows常用指令集

這篇其實只是幫自己做個筆記,不然有一些指令久久不用還要Google好麻煩。
本篇會持續更新。並且按照字母排序。

目前收錄指令:
Arp
Dcdiag、Diskpart
Mstsc
Net localgeoup、Net start/dtop、Net user、Netdom、
Repadmin、Route
Taskkill
Ver
Winver、Wuauclt

Arp:顯示本機區域網路內IP與Mac Addres的對應表
arp -a:顯示目前當下正在使用的Arp Table。
arp -d 1.2.3.4:刪除本機arp ip為1.2.3.4資料。
arp -s 00-00-00-00-00-00 1.2.3.1:手動新增靜態arp 資料。
arp -a 1.2.3.4:1.2.3.4對應的Mac Address。
#Windows Locally\

dcdiag
dcdiag:不帶參數必須於AD主機上執行
dcdiag -s xxxx:指定XXXXAD主機做檢測

Diskpart這是一隻單獨的程式,專門針對磁碟做管理。
list disk:列出所有磁碟
select disk:選定磁碟
list partition:列出所有分割區
select partition:選定分割區
Create partition primary size=10240 align=1024
    > 建立主要磁碟區10G並且對齊 4K(SSD用的)。
clean:清除整顆磁碟(務必要確認再確認避免資料遺失)
format:format fs=ntfs label=data quick 
    > 格式化為ntfs、標籤為data、快速格式化。
    > ntfs可以改為fat32,端看你需要什麼格式 。
Assign letter=Z:指定分割區磁碟機代號為Z
#Windows Locally

Mstsc
mstsc:啟動遠端桌面
mstsc /v 1.2.3.4:啟動遠端桌面並且直接連線到指定IP電腦
mstsc /admin:遠端連線管理員模式(Incloud/After Windows Vista/2008)
mstsc /console:遠端連線管理員模式(Incloud/Before Windows XP/2003)

Net localgroup:本機群組相關
Net localgroup Administrators xxx\abc /add
    > 新增XXX網域使用者ABC至本機管理員群組
Net localgroup Powerusers xxx/ggg /del
    > 移除XXX網域使用者GGG自Powerusers群組移除

Net start/stop:啟動/停止服務
    > Net stop spooler > 停止列印服務
    > Net start spooler > 啟動列印服務

Net user:本機使用者相關
    > Net user XXX YYY /add > 新增XXX使用者密碼為YYY
    > Net user XXX /del > 刪除XXX使用者
    > Net user XXX /active > 啟用XXX使用者
    > Net user XXX /active:no > 停用XXX使用者

netdom 
FSMO五大腳色為:
1. Schema Master(架構主機)
2. Domain Naming Master(網域命名主機)
3. Infrastructure Master(基礎架構主機)
4. RID Master(RID集區管理員
5. PDC Emulator(PDC)
netdom query fsmo:查詢AD五大角色分別坐落在那些AD主機內。
netdom add xyz123 /domain:avex.idv.tw /UserD:Joinad 
/PasswordD:*
    > 新增電腦帳號XYZ123於avex.idv.tw,使用Joinad帳戶執行密碼由視窗輸入。
netdom join %computername% /domain:avex.idv.tw /UserD:Joinad /PasswordD:*
    > 將此電腦(Client)加入網域,使用Joinad帳戶執行密碼由視窗輸入。

repadmin:AD架構指令
repadmin /kcc:強制重新計算目標網域的拓樸
repadmin /prp:檢視或修改RODC密碼複寫原則
repadmin /replsummary :健康狀態簡表
repadmin /syncall:立刻同步複寫指定(全部)網域控制站

Route:本機路由
Route print:列出路由表
Route add 192.168.1.50 mask 255.255.255.0 192.168.1.254
    > 新增指定路由192.168.1.50封包經由閘道192.168.1.254
Route del 192.168.1.50
    > 刪除手動路由192.168.1.50

Taskkill:中止執行中程式
Taskkill /IM xxx.exe > 中止xxx.exe
Taskkill /IM xxx.exe /F >強制中止xxx.exe
Taskkill /PID 1123 > 中止PID為1123的程式
Taskkill /PID 1123 /T > 中止PID為1123的程式以及相關子程序

Tracert:路由追蹤
Tracert 1.1.1.1 > 路由追蹤1.1.1.1
Tracert -d 1.1.1.1 > 路由追蹤1.1.1.1不解析IP Address的Hostname
Tracert -4 1.1.1.1 > 路由追蹤1.1.1.1使用IPv4
Tracert -6 2001:0db8:85a3:0000:0000:8a2e:0370:7334
    > 路由追蹤2001:0db8:85a3:0000:0000:8a2e:0370:7334使用IPv6

Ver:作業系統版本(文字介面)

W32tm:時間服務
W32tm /resync > 與時間伺服器同步時間(AD/External Time Server)

Winver:作業系統版本(視窗介面)

Wuauclt:
wuauclt /reportnow > 立即回報給WSUS Server更新狀態
wauaclt /detectmow > 立即偵測是否有更新
更新紀錄位於C:\ WINDOWS \ WindowsUpdate.log



 

Windows Update停在 0%

Windows Update停在 0%

在網路上很容易找到Windows Update到壞掉的文章,處理方式很多種,但是大部分其實都是Windows Update裡的資料庫或檔案壞掉然後就卡住了,重開機也沒用。

這一次發生的原因是WSUS主機的硬碟空間爆了,虛擬磁碟500G,實體硬碟也就這麼大無法再擴增了),後來調整設定由 WSUS控管,Client直接去微軟下載更新檔案,雖然耗費頻寬,但至少我不用再擔心WSUS主機硬碟爆掉怎麼半。調整完之後,Client端含Windows Server 2016+Windows10的Windows Update全部卡在0%,上網找了很多方式,主要就是把C:\Windows\SoftwareDistribution整個目錄全砍了,讓系統重建。Windows 10很容易,去服務把Windows Update停止然後去把上述的目錄整個刪除即可,Windows Update服務起來之後

但是Windows Server 2016沒這麼簡單,當你嘗試停用Windows Update服務的時候他會卡死在停止中,之後就沒有任何回應。我嘗試改成停用該服務之後,重開機他又回來了,真的是令人火大。

最後找到原來要用文字模式,進入sconfig.exe > 5 > M,然後就可以正常地把Windows Update服務停止,刪掉C:\Windows\SoftwareDistribution整個目錄。

如果還是不行同時先把BITS服務先停掉之後再啟用。

之後Windows Update就會恢復正常的。

CloudBerry-雲端備份

CloudBerry-雲端備份

這一邊是在說明我在尋找家裡File Server要做雲端(異地)備援的軟體/方法

因為我家裡的File Server大約有900G的資料。

平常除了本機磁碟陣列(2Tx2 Raid 1)之外另外還有同步備份到外接式磁碟。

畢竟資料本身以及備份的外接硬碟都是放在同一個地方/同一個櫃子,如果碰到一些天災人禍意外可能很多心血就都沒了,所以我一直在尋找異地備援的方案。

但是在沒有這幾年雲端服務之前,平凡人也不可能去租一個機房擺Storge來放這些備份的資料。

這個軟體是我在搜尋雲端備份軟體的時候找到的 。

先說明這不是廣告文純粹是分享一個好用的軟體而已。

CloudBerry ->https://www.cloudberrylab.com/

我一開始是被他其中一個軟體吸引到Cloudberry Explore for Amazon S3

這介面實在很人性化,就像FTP一樣可以直接增、刪、拖拉檔案在電腦與Amazon S3之間

在我試拖了幾個檔案之後覺得好方便,我就開始找尋有沒有自動排程的功能。

點了上面的Schedule Backup之後,果不其所然跳出他的廣告網頁。畢竟好用方便的工具就是用錢砸出來了。

他所跳出來的軟體網頁是Windows Desktop Cloud Backup

我仔細看了一下,他說明的其實沒有很清楚,只有說Free版的是給個人使用的,Pro版擁有更多的進階功能

想想我File Server是放在Windows Server 2016上面,我直接換個產品線找到Windows Server Backup

載回來裝起來之後,我發現我無法切換成Freeware模式……..

冏了,原來只要加了網域的電腦就沒辦法使用Freeware mode,而且Freeware模式有限制200G備份資料的限制,遠低於我的需求。

後來,我想想至少先用用看決定買或不買,畢竟119美金台幣四千多塊,實在是不便宜(但是更重要的是資料無價。)

註冊Mail之後,它可以讓你全功能試用15天。

其實軟體並不複雜

他基本的功能除了備份到本地端/本地網路之外,就是可以備份到各大雲端商!

看看這是不是很猛!支援雲端之外也支援各是各式各樣的服務或Storage。

我自己在研究的三大雲裡面所有正在使用的服務

AWS:Lightsail / Route53 / S3

Azure:AzureDNS / Storage

Google:G Suit

想想我就先試試看設一定一個Backup Plan到S3,至於詳細的設定過程我就不打出來因為很簡單。

按照家裡的網速 Dual Wan( 100/60、60/15),我挑選的300G的部分檔案做上傳,大概也花了我20小時做第一次的Full Backup。

如果大家熟悉雲端的收費模式,大致上的收費方向除了存在上面的資料量還有資料的流出流入與純取的次數。

我曾經試過想者不要錢的節省方式,用Powershell搭配AWS Shell來上傳備份檔案,照這樣計算我資料流出流入的和存取次數一定很快就爆量!

這個軟體就是好在他會把備份的檔案在本地和雲端都建構一個資料庫,要備份的時候他會先掃描本地端有異動過的資料蒐集完之後遠端的資料庫做比對,然後只上傳有異動的資料

下面是單一雲端備份計畫的畫面,是不是簡單明瞭!

下面是備份工作正在Running的時候的畫面,特別的是他一次會先排1000個檔案進佇列,等到快要清完的時候他會再排下1000個檔案。

總之,最後他會告訴你他完成了。

備份完總要檢查一下!

AWS上傳完成。CBB_SRVFSTORE其實就是他放資料庫的地方。

Azure上傳中(在寫此篇的同時Azure Storage正在做第一次完整上傳)

Local的Backup Plan也看一下。

Local的將近900G資料透過USB3.0做第一次傳輸大概也花了一天半快兩天才做完。

而之後的每次都只要比對有異動資料才做備份。

除此資外它還可以幫你刪除老資料節省空間/金錢,我自己是設定(同時也是預設)來源檔案刪除30天之後,也刪除雲端的備份檔案。

雲端的儲存計畫也有分熱資料/冷資料價格不同

他可設定好之後自動幫你移轉儲存計畫(省錢)

以上,您說這是不是異地備援好用的軟體呢?

 

 

 

 

Windows Server, version 1709

在Windows Server 2016 問世之後,前陣子突然跑出了Microsoft Windows Server 1709 這個分支版本(目前到了1803)

Microsoft Windows Server 從1709這個分支版本,做了很大的改變,主要就是不在提供GUI介面了。

預設就是Server Core,開機登入只會看到黑黑的命令提示模式。

同時Nano Server也只以容器的方式存在。

PS>後來發現,微軟其實還有個Windows Server 2019已經Preview版本了。

安裝Windows Server 2016會有這四種選項

  • Windows Server Standard
  • Windows Server Standard 含桌面體驗
  • Windows Server Datacenter
  • Windows Server Datacenter 含桌面體驗

安裝Windows Server只剩兩種

  • Windows Server Standard
  • Windows Server Datacenter

我想微軟應該是慢慢要開始慢慢去除操作介面減少漏洞同時也減少需要更新的頻率與數量。

Server Core可以支援這些比較單純的服務

  • Active Directory 憑證服務
  • Active Directory 網域服務
  • DHCP 伺服器
  • DNS 伺服器
  • 檔案服務 (包括檔案伺服器資源管理員)
  • Active Directory 輕量型目錄服務 (AD LDS)
  • Hyper-V
  • 列印和文件服務
  • 串流處理媒體服務
  • 網頁伺服器 (包括 ASP.NET 子集)
  • Windows Server 更新伺服器(WSUS)
  • Active Directory Rights Management Server
  • 路由及遠端存取伺服器和下列子角色:
  • 遠端桌面服務連線代理人
  • 授權
  • 虛擬化
  • 大量啟用服務

Windows Server裝完之後通常會透過下列方式來管理

1.命令列

2.Windows PowerShell

3.遠端管理

4.MMC

所以在不愛用指令來管理的人,其實可以裝完Windows Server之後,使用sconfig來設定好網路/防火牆,加好網域(如果需要)。

然後就可以使用Client端(Windows 10)安裝RSAT後來遠端管理Server的各式功能了

遠端管理其實蠻方便的,一台跳板就可以控管所有的Server。

另外Windows Server 2016的桌面體驗是不能後來追加的,必須重新安裝才行。所以安裝前要先想好用途才不會後悔徒增自己的困擾。

 

MYSQL資料庫設定自動複寫

其實這是以前做過MYSQL的既有功能,只是以前都是在Linux上面做,這次要在Windows上面做。

而我也幾乎都用WEB介面做完的。網路上也找的到很多詳細的設定方式,這裡我就不再詳述了。

大方向大概就是:

1.確認防火牆都開通Slave可連線到Master的MySQL,並且設定帳號可以使用。

2.在Master設定好Server id,並修改My.ini去啟動Master的功能。

3.在Slave設定好Server id不能與Master相同,並且去修改My.ini去啟動Slave的功能。

成功之後,兩邊的資料庫後面都會標示已備援。

主要伺服器狀態

次要伺服器狀態

雖然每天都有目錄備份加上定期VM整機備份,但是自己實做一個及時複寫的DB也是不錯的。

Diskpart指令兩三事

Diskpart指令其實蠻好用的,它可以再命令模式下幫你做磁碟分割。

我會突然想寫這篇也不是沒有原因。

因為之前裝機的時候都在總部給的Image展開然後Deploy之後,自動就預設好把整個磁碟機開成C槽

這對於台灣人來說,電腦沒有D槽很難用。(這只是習慣)

那一開始都是還要用另外一隻PE去開機手動做磁區縮小,再另外切出D槽來。

後來某天心血來潮,去仔細找總部給的Deploy Client用的工具硬碟。

終於被我找到他針對磁碟分割所呼叫的文字檔

Windows 7:>後面附帶解釋

select disk 0 > 選擇磁碟0
clean > 清除
create partition primary size=500 > 建立Windows 7使用的回復磁區 500MB
format quick fs=ntfs label=”System” > 格式化ntfs並且命名System
active > 啟用
assign letter=S > 分配磁碟機代號S
create partition primary > 建立主要磁區不指定Size使用剩下所有空間
format quick fs=ntfs label=”Windows” > 格式化ntfs並且命名Windows
assign letter=W > 分配磁碟機代號W
exit > 結束

Windows 10:

select disk 0 > 選擇磁碟0
clean > 清除
convert GPT > 轉換為GPT格式磁碟
create partition EFI size=100 offset=1024 建立EFI磁區 大小100MB 偏移量1024
format quick fs=fat32 label=EFI > 格式化為fat32 磁碟機名稱EFI
assign letter=S > 指定磁碟機代號 S
set id=”C12A7328-F81F-11D2-BA4B-00A0C93EC93B” >設定Disk ID
create partition MSR size=128 > 建立128MB 回復磁碟區
create partition primary > 建立磁碟區使用所有剩下的空間
format quick fs=ntfs label=Windows > 格式化為ntfs
assign letter=W > 指定磁碟機代號 W
set id=”EBD0A0A2-B9E5-4433-87C0-68B6B72699C7″ 設定磁碟機id
exit > 結束

 

其實看到這就知道我只要把create partition primary 後面補上size = 153600

就可以讓他直接建立150G的C槽,而不要直接一次把硬碟空間通通用完。

然後搭配我後續裝機中寫的

Windows 7:

select disk 1 > 選擇隨身碟
select partition 1 > 選擇第一個磁區
assign letter=e > 指定磁碟機代號為e(裝機完一插上會是D)
select disk 0 > 選擇磁碟0
create partition primary > 建立磁碟區用剩下所有的空間
select partition 3 > 選擇第三磁區(剛剛所建立的)
FORMAT FS=NTFS LABEL=”DATA” quick > 格式化為NTFS,磁區命名為DATA
assign letter=d > 指定磁碟機代號 D
exit > 結束

Windows 10

select disk 1 > 選擇隨身碟
select partition 1 > 選擇第一個磁區
assign letter=e > 指定磁碟機代號為e(裝機完一插上會是D)
select disk 0 > 選擇磁碟0
create partition primary > 建立磁碟區用剩下所有的空間
select partition 4 > 選擇第四磁區(剛剛所建立的,Windows 10 UEFI 模式會多一個EFI引導磁區,所以排在第四)
FORMAT FS=NTFS LABEL=”DATA” quick > 格式化為NTFS,磁區命名為DATA
assign letter=d > 指定磁碟機代號 D
exit > 結束

 

這樣一來我又省了一個麻煩事

畢竟事後動分割區都還是有一定的風險的。