← Back to list

【IIS】搬設全部IIS的網站及設定至另一台機器上

開發的時候有時候會有機器切換的需求,如果是在Windows上用IIS架站的工程師,有時候會面臨需要重新把網站全部設一次的困擾,之前遇到這個需求時,想說這個肯定能用Script來處理,果不其然是可以透過Script來解決,紀錄一下當下使用的Script與遇到的問題。

AhChao in 雜食性的貓 · 2021-04-26 14:33 · 50 claps · 1.8 min read
#雜記 #ii #migrate #複製 #搬運
Open on Medium ↗

【IIS】搬設全部IIS的網站及設定至另一台機器上

開發的時候有時候會有機器切換的需求,如果是在Windows上用IIS架站的工程師,有時候會面臨需要重新把網站全部設一次的困擾,之前遇到這個需求時,想說這個肯定能用Script來處理,果不其然是可以透過Script來解決,紀錄一下當下使用的Script與遇到的問題。

  1. 在想複製的該台機器跑這個指令 %windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml 會把該台機器上的iis app pool相關清單匯出成xml檔案,最後面是檔案的名稱與路徑,也可以不要放在C:
  2. 一樣是想複製的機器跑這個指令 %windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml 會把該台機器上的iis site的設定匯出成xml檔案,最後面是檔案的名稱與路徑,也可以不要放在C:
  3. 把上述兩個檔案複製到你想搬遷的機器上,假設為C:的跟目錄
  4. 依序跑下面兩個指令 %windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml %windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml 匯入設定檔上去
  5. 匯出完成!

如果一切順利的話,走完上面五個步驟就沒問題了。

不過筆者自己有遇到一個問題:

message:Failed to add duplicate collection element “yoursite”

那時候就在想,明明這台機器上面是沒有相關的設定的,也又檢查了一遍重複的網站,為什麼會遇到這個錯誤訊息呢?

後來問問萬能的Google大神,發現:原來錯誤訊息指的Duplicate collection包括Site Id重複的狀況,當下我轉移的目的地的確有一些Site殘留,而匯出的站台裡也包括Site Id前面的資料,這下就恍然大悟了,把目標機器的IIS,不需要的網站與Pool都移除,再次執行匯入,就成功的拿到執行成功的訊息了!


메타데이터
post_id
95250cef845e
slug
iis-搬設全部iis的網站及設定至另一台機器上-95250cef845e
url
https://medium.com/%E9%9B%9C%E9%A3%9F%E6%80%A7%E7%9A%84%E8%B2%93/iis-%E6%90%AC%E8%A8%AD%E5%85%A8%E9%83%A8iis%E7%9A%84%E7%B6%B2%E7%AB%99%E5%8F%8A%E8%A8%AD%E5%AE%9A%E8%87%B3%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%A9%9F%E5%99%A8%E4%B8%8A-95250cef845e
canonical_url
https://medium.com/%E9%9B%9C%E9%A3%9F%E6%80%A7%E7%9A%84%E8%B2%93/iis-%E6%90%AC%E8%A8%AD%E5%85%A8%E9%83%A8iis%E7%9A%84%E7%B6%B2%E7%AB%99%E5%8F%8A%E8%A8%AD%E5%AE%9A%E8%87%B3%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%A9%9F%E5%99%A8%E4%B8%8A-95250cef845e
author_url
https://medium.com/@ahchao
status
ok
fetched_at
2026-07-28 08:31:12