iT邦幫忙

0

PowerShell 篩選檔案owner

Rax 2018-11-02 10:54:341426 瀏覽

小弟公司有一個共用的網路磁碟目錄(內部存放檔案七天後移除),目前想用PowerShell
寫一個腳本,在移除前先做一個分類(依Owner),產出各個owner所存放的檔案清單,後寄給該使用者,因為剛學PowerShell,目前參考網路上的資源只能做到被動式的篩選,如下:

get-acl T:\* | Sort-Object -Property Owner,path | where-object {$_.owner -like 'A01'} | out-file -filepath D:\test\123\123.txt

請問要怎麼下變數讓腳本能依照Owner分類後,各建立一個檔案清單呢?

看更多先前的討論...收起先前的討論...
comhlp iT邦新手 4 級 ‧ 2018-11-02 11:38:37 檢舉
先SELECT OWNER 再用FOR EACH 每個OWNER GET一次 生成的TXT 跟OWNER 名
Rax iT邦新手 5 級 ‧ 2018-11-02 14:12:32 檢舉
不好意思,我理解力可能較差,目前我嘗試下來只能將所有檔案owner 給列出來
```
get-acl T:\* | select-object Owner |foreach-object -process { $_.owner} | out-file -filepath D:\test\123\$_.txt
```
comhlp iT邦新手 4 級 ‧ 2018-11-02 14:52:31 檢舉
不是一行做完
$Owners= get-acl T:\* | select -ExpandProperty Owner
$owners
foreach ( $owner in $owners )
{get-acl T:\* | where Owner=$owner | out-file -filepath D:\test\123\$_.txt}

最後$_.TXT 你自已硏究下怎改 應該要用來$owner TRIM/REPLACE "/"
Rax iT邦新手 5 級 ‧ 2018-11-02 16:56:51 檢舉
感謝您的回答,目前是已經可以依Owner建立檔案了,但是裡面沒有資料
$Owners= get-acl T:\* | Select-Object -ExpandProperty Owner
$owners
foreach ( $owner in $owners )
{get-acl T:\* | Where Owner=$owner | out-file -filepath D:\test\123\"$owner".txt}
comhlp iT邦新手 4 級 ‧ 2018-11-02 17:36:16 檢舉
你先HARDCODE 一句get-acl T:\* | Where Owner=其中一個OWENERS例出的名
看看GET到什麼 才可以偵錯
comhlp iT邦新手 4 級 ‧ 2018-11-02 17:45:55 檢舉
$Owners= get-acl T:\* | Select-Object -ExpandProperty Owner
$owners
foreach ( $owner in $owners )
{get-acl T:\*.* | Where Owner -eq $owner | out-file -filepath D:\test\123\"$owner".txt}
後面OUT-FILE先不要行 看看OUTPUT是不是你想要的

其實我不太想直接給你答案 ...........
$Owners= get-acl T:\* | Select-Object -ExpandProperty Owner
$owners
foreach ( $owner in $owners )
{
$output=$owner.replace("\","_")
get-acl T:\*.* | Where Owner -eq $owner|out-file -filepath D:\test\123\"$output".txt
}
Rax iT邦新手 5 級 ‧ 2018-11-05 10:05:05 檢舉
非常謝謝你耐心的回答,OUTPUT有資料了,輸出的結果我再自行研究,感謝你!

尚未有邦友回答

立即登入回答