iT邦幫忙

0

如何透過Command複製與自己同樣網域名稱的檔案

最近公司因為Mail出了問題,需要把大家的PST檔案拷貝至450台電腦並掛載至Outlook,但是3天內要完成,所以我想到一個方式,就是透過Script或powershell,先複製跟自己網域登入名稱一樣的檔案到D磁碟機,再給每個使用者掛載PST教學,這樣就可以很快解決,可是不知道該怎麼寫自動拷貝指令,請求大大們解套。

下GPO 針對不同的網域下複製檔案的GPO原則,給的資訊太少,很難說指令檔要怎麼寫

2 個回答

0
runan5678
iT邦新手 2 級 ‧ 2018-12-10 12:12:05
最佳解答

如果是powershell...

  1. 抓取登入的使用者名稱
    可以用 $env:username 去撈當前的登入使用者
    詳細的資訊可以利用dir env:user* 去撈當前登入的使用者資訊
  2. copy-item的指令去做複製檔案到特定目的地的動作

其他注意事項:

  1. 必須先確保使用者端可以執行powershell,可以用get-executionpolicy和set-exxcution-policy做處理
  2. 估計電腦設備都有加入網域,只要確認資料夾有開放權限讓使用者複製即可
  3. 如果有未加入網域的電腦設備要再寫段srcipt以便能有權限進行複製作業
froce iT邦高手 1 級 ‧ 2018-12-11 08:38:55 檢舉

補充:
抓取 pst 檔安裝路徑
Get-WmiObject -Query "Select * from CIM_DataFile Where Extension = 'pst'" | Select-Object 'Name'

使用者不一定放在預設路徑下。

0
harrytsai
iT邦新手 5 級 ‧ 2018-12-10 12:24:06

大量第一個你要考慮到資料的多寡,因為伺服器不太能夠承受同時copy 450個pst檔,我建議你可以讓fastcopy 做成批次檔來做

@echo
C:\FastCopyPortableTW\64\fastcopy.exe /cmd=diff /auto_close "\192.168.1.1\xxx.pst" /to="\192.168.1.10\d$\mail\xxx.pst"
exit

中間那段可以複製多組,fastcopy 會一個接著一個做完,或者將pst分散到其他台主機,讓其他台主機一起分擔複製的效能,單一台如果要做完,反而是拖累整台主機。

我要發表回答

立即登入回答