2017-04-21 63 views
0

我發現了this PowerShell script,並鏈接到了其他變體。它是一個將NTFS文件權限導出到CSV文件的簡單腳本,因此我可以稍後編輯並放入一個新的域名。然後用另一個腳本導入它。試圖在Powershell中運行腳本只是將光標掛在腳本末尾

當我嘗試運行腳本時,替換我的變量,PowerShell掛在光標上。它在我測試的5臺服務器上執行此操作。我在做什麼錯誤運行這個腳本?有我複製並粘貼錯了或做我必須做的事情在PowerShell中事情就可以工作

這是我試圖運行腳本:

Get-ChildItem "C:" -Recurse | ?{ $_.PsIsContainer } | %{ $Path = $_.FullName 
    # Exclude inherited rights from the report 
    (Get-Acl $Path).Access | ?{ !$_.IsInherited } | Select-Object ` 
    @{n='Path';e={ $Path }}, IdentityReference, AccessControlType, ` 
    InheritanceFlags, PropagationFlags, FileSystemRights } | Export-CSV "c:\temp\Permissions.csv" 
+2

用''_。''在'$ .PsIsContainer'和'$ .FullName'上修復'$ .' –

+0

當你說「掛起」時,你知道必須按兩次輸入,對嗎?並且你正在列出並獲取每個文件和文件夾,然後過濾掉這些文件,然後在C盤上的每個文件夾中獲取ACL,這可能是大約25萬或更多,並且不會有它運行時的任何可見輸出? – TessellatingHeckler

+0

感謝Micky和JPBlanc。菜鳥的錯誤,我確實再次點擊Enter,因爲光標掛在腳本的末尾,這次它工作並創建了permissions.csv文件。現在的問題是,如果我將路徑「C:\」更改爲單個文件夾以測試如「C:\ TestFolder」,則無輸出。但是如果我在我的例子中離開C:\條目,它會輸出所有的C(大部分是C,因爲你是對的Micky做C的所有可能需要一段時間,所以我做了Ctrl + C打破)除相同的表格顯示數字的長整數。我需要做什麼來獲得一個文件夾的工作? – forums712

回答

0

重試這一個:

Get-ChildItem "C:\" | ?{ $_.PsIsContainer } | %{ $Path = $_.FullName; (Get-Acl $Path).Access | ?{ !$_.IsInherited } | Select-Object @{n='Path';e={ $Path }}, IdentityReference, AccessControlType, InheritanceFlags, PropagationFlags, FileSystemRights } | Export-CSV "c:\temp\Permissions.csv" 

保持它一條線,我改變$.PsIsContainer$_.PsIsContainer$.FullName$_.FullName;糾正語法和指令分開,我刪除的評論。它對我來說就像那樣。

+0

感謝JP,我確實發現我的問題是我沒有打到第二次輸入並且在那之後工作,但是現在我的問題出現在我在Micky的帖子中添加的評論中。你能幫助你如何輸出一個文件夾嗎?哦,我確實嘗試了你編輯過的一行腳本,並且只能使用C語言,但只能輸出20行,不會像原始腳本那樣長。我會很樂意使用你的。謝謝,吉米K – forums712