Powershell ile sahibi tekrar tekrar değiştirilsin mi?


10

Powershell'i bir klasörün sahibini özyineli olarak değiştirmek için kullanmaya çalışıyorum.

Temelde bu kodu kullanıyorum:

$acct1 = New-Object System.Security.Principal.NTAccount('DOMAIN\Enterprise Admins')
$profilefolder = Get-Item MyFolder
$acl1 = $profilefolder.GetAccessControl()
$acl1.SetOwner($acct1)
set-acl -aclobject $acl1 -path MyFolder

Bu, ilk düzeydeki sahipliği değiştirir, ancak alt klasörler veya dosyalar için değişmez. Kapsamı tüm içeriğine genişletmenin bir yolu var mı MyFolder?

Yanıtlar:


18

Kalkış komutu tam olarak yapmaya çalıştığınız şeyi yapar. Normal bir windows yardımcı programıdır.

Bu snippet, mevcut kullanıcıya sahiplik uygular, ancak istediğiniz herhangi bir kullanıcıya ayarlayabilirsiniz.

http://technet.microsoft.com/en-us/library/cc753024(v=ws.10).aspx

takeown /f "c:\folder\subfolder" /r

Sorun yaşarsanız, cmd / powershell penceresini yönetici izinleriyle çalıştırdığınızdan emin olun. Aynı durum powershell'e özgü diğer cevap için de geçerlidir.


1
Bu dove sümük sahibi bir gruba ("Yöneticiler" dışında) ayarlamak için çalışıyor gibi görünüyor
Gert van den Berg

5

Set-ACL cmdlet'i borudan path parametresini alacaktır, bu nedenle önerilen yol, her öğenin sahibini ayarlamak için bir dizinin içeriğini boruya bağlamaktır:

dir -r c:\Users\goyuix\temp | set-acl -aclobject $acl1

Bu, sahibimi profilimdeki geçici dizindeki tüm klasörlere / dosyalara yinelemeli olarak ayarlayacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.