Як я можу використовувати powershell, щоб перерахувати всі файли, які я завантажив на сервер?


2

На роботі існує мережа, і всі мають ім'я користувача та пароль, які вони використовують для входу. Як я можу шукати мої файли в цій мережі?

Я можу перерахувати всі файли, подібні до цього:

cd \\192.168.*.***\f:\
dir -Recurse -Force

Відповіді:


1

dir є старим способом для DOS / Windows, Powershell надає вам get-childItem

Необхідно визначити каталог, у якому потрібно шукати файли, а потім зробити щось подібне:

$myDir = "\\Server\Directory\"

get-ChildItem -Path $myDor | Foreach {
 get-Acl $_
}

Дякую! Після редагування першого рядка у відповідний каталог я просто запустити його в PowerShell і він повинен працювати?
elisha

Це, по крайней мере, початок. Як тільки ви запустите, ви отримаєте кореневі об'єкти і підете звідти. Немає рекурсії, яку можна легко додати, і вам потрібно буде перевірити ACL для вашого облікового запису AD як власника (сподіваюся).
Austin T French

"І ви повинні перевірити ACL для вашого облікового запису AD як власника (сподіваюся). -" Що ви маєте на увазі? Я не такий хитрий :)
elisha

0

Ви можете відфільтрувати файли, якими ви володієте, використовуючи наступний код

Get-ChildItem \\server\share -Recurse | Where-Object { 

    ($_ | Get-ACL).Owner -match $env:USERNAME 
}

The Get-ACL cmdlet отримує ACL і право власності на папку / файл і порівнює його з $ env: USERNAME змінна, яка є поточним ім'ям користувача, до якого ви ввійшли

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.