Belirtilen hesapların izinlerinin olduğu klasörleri tespit etme
Windows PowerShell ve ADManager Plus ile hesaplar tarafından erişilebilen klasörlerle ilgili bir rapor elde edilmesi arasındaki karşılaştırma aşağıda yer almaktadır:
VBScript
VBScript kullanarak hesaplar tarafından erişilebilen klasörleri elde etme adımları:
- Raporu almak istediğiniz alanı belirleyin.
- Raporu getirmek için ihtiyacınız olan LDAP özniteliklerini belirleyin.
- Raporu getirmek için birincil DC’yi belirleyin.
- Kod dizisini derleyin.
- Komut promptunda yürütün.
- İstenen rapor oluşturulacaktır.
Sample VBScript Script:
strComputer = "."
sParentFolder = InputBox("Please Enter folder to gather information on", "Parent Folder")
sUserName = InputBox("Please enter the user name")
MsgBox sUserName
SParentFoldern=replace(sParentFolder,"\","")
SParentFoldern=replace(sParentFoldern,":","")
Set fso = CreateObject("Scripting.FileSystemObject")
'File name Same As Folder Name without special Characters
fullfilename=SParentFoldern&".html"
'WScript.echo fullfilename
Set fsOut = fso.OpenTextFile(fullfilename, ForAppending, True)
On Error Resume Next
fsOut.Writeline ("<html>"&vbCr&"<head>"&vbCr&"<title>File Permission For Folder under &"& SParentFoldern&"</title>"&vbCr&"</head>")
strTableHead = "<table border=2 bordercolor='#000010' width='90%' id='Table1'>"
fsOut.Writeline strTableHead
fsOut.Writeline "<tr><td width='50%'>Folder</td>" & _
"<td width='50%'>User Name</td>"&_
"<td width='50%'>Permission</td></tr>"
strTableFoot = "</table>"
fsOut.Close
ShowSubFolders FSO.GetFolder(sParentFolder),fullfilename
OutputFolderInfo sParentFolder, fullfilename
Set fsOut = fso.OpenTextFile(fullfilename, ForAppending, True)
fsOut.Writeline strTableFoot
fsOut.Close
MsgBox "Done "
WScript.Quit
Public Sub OutputFolderInfo(FolderName , sOutfile)
Const FullAccessMask = 2032127, ModifyAccessMask = 1245631, WriteAccessMask = 1180095
Const ROAccessMask = 1179817
Const ForReading = 1, ForWriting = 2, ForAppending = 8
strComputer = "."
'Build the path to the folder because it requites 2 backslashes
folderpath = Replace(FolderName, "\", "\\")
objectpath = "winmgmts:Win32_LogicalFileSecuritySetting.path='" & folderpath & "'"
'Get the security set for the object
Set wmiFileSecSetting = GetObject(objectpath)
'verify that the get was successful
RetVal = wmiFileSecSetting.GetSecurityDescriptor(wmiSecurityDescriptor)
If Err Then
MsgBox ("GetSecurityDescriptor failed" & vbCrLf & Err.Number & vbCrLf & Err.Description)
Err.Clear
End If
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery("SELECT * FROM Win32_Directory WHERE Name ='" & _
folderpath & "'")
For Each objFolder In colFolders
' Retrieve the DACL array of Win32_ACE objects.
DACL = wmiSecurityDescriptor.DACL
Set fso = CreateObject("Scripting.FileSystemObject")
Set fsOut = fso.OpenTextFile(sOutfile, ForAppending, True)
For Each wmiAce In DACL
' Get Win32_Trustee object from ACE
Set Trustee = wmiAce.Trustee
If UCase(Trustee.Name) = UCase(sUserName) Then
fsOut.Writeline "<tr><td width='50%'>"&objFolder.Name&"</td>" & _
"<td width='50%'>"&Trustee.Domain&"\"&Trustee.Name&"</td>"
'fsOut.Write objFolder.Name & "," & Trustee.Domain & "\" & Trustee.Name & ","
FoundAccessMask = False
CustomAccessMask = Flase
While Not FoundAccessMask And Not CustomAccessMask
If wmiAce.AccessMask = FullAccessMask Then
AccessType = "Full Control"
FoundAccessMask = True
End If
If wmiAce.AccessMask = ModifyAccessMask Then
AccessType = "Modify"
FoundAccessMask = True
End If
If wmiAce.AccessMask = WriteAccessMask Then
AccessType = "Read/Write Control"
FoundAccessMask = True
End If
If wmiAce.AccessMask = ROAccessMask Then
AccessType = "Read Only"
FoundAccessMask = True
Else
CustomAccessMask = True
End If
Wend
If FoundAccessMask Then
'fsOut.Writeline AccessType
fsOut.Writeline "<td width='50%'>"&AccessType&"</td></tr>"
Else
fsOut.Writeline "<td width='50%'>Custom</td></tr>"
'fsOut.Writeline "Custom"
End If
End If
Next
Set fsOut = Nothing
Set fso = Nothing
Next
Set fsOut = Nothing
Set fso = Nothing
end Sub
Sub ShowSubFolders (Folder,fname)
On Error Resume Next
For Each Subfolder in Folder.SubFolders
Call OutputFolderInfo(Subfolder.Path,fname)
Wscript.Echo Subfolder.Path
call ShowSubFolders (Subfolder,fname)
Next
End Sub
ADManager Plus
Raporu almak için
- NTFS İzinler raporunda Hesaplar tarafından erişilebilen Klasörleri seçin.
- Etki alanını seçin. Tercih edilen hesapları seçin ve onay kutularını seçerek veya bilgisayarı aramak için Hızlı bul özelliğini kullanarak Klasörleri Kontrol Et alanında bilgisayarı seçin. Generate seçeneğine tıklayın.
- Paylaşım izinlerini ve Klasör izinlerini görüntülemek için İzinler butonuna tıklayın.
Screenshot
Windows PowerShell gibi yerel araçları kullanarak Windows PowerShell gibi yerel araçları kullanarak hesaplar tarafından erişilebilir olan klasörlerin raporunun elde edilmesine ilişkin sınırlamalara aşağıda verilmiştir:
- Ana Klasör adını ve Kullanıcı Adını tam olarak vermeliyiz.
- Bu kod dizisini çalıştıran kullanıcı klasör izinlerini okuma iznine sahip olmalıdır.
- Alt Klasörler için, izinlere ihtiyaç duyduğumuz seviye sayısını açıkça belirtmeliyiz.
- Bu kod dizisiyle hesaplar için mevcut olan özel izinleri alamayız.
- Erişim Türü (İzin Ver / Reddet) ve Uygulanır alanlarını elde etmek için DACL’yi daha fazla işlememiz gerekir.
- Raporun diğer formatlarda elde edilmesi zordur.
ADManager Plus, NTFS izinler raporunda ‘Hesaplar Tarafından Erişilebilen Klasörler’ seçeneğini seçerek kullanıcıların Paylaşım ve klasör izinlerini alma özelliği sunar.
Özel olarak oluşturulmuş raporlarla NTFS izinleri ve dosya paylaşımları üzerinde tam kontrol sahibi olun.
30 günlük ücretsiz deneme sürümünü edinin.İlgili Powershell Nasıl Yapılır Kılavuzları:
-
AD Kullanıcı Yönetimi için
- Powershell kullanarak AD'de yeni kullanıcı hesapları oluşturma
- PowerShell kullanarak Active Directory kullanıcılarını CSV'den içe aktarma
- Powershell kullanarak AD'de yeni kullanıcı ekleme
- Powershell kullanarak AD kullanıcı özniteliklerini değiştirme
- PowerShell kullanarak Active Directory kullanıcı hesaplarını etkinleştirme
- PowerShell kullanarak AD hesaplarını devre dışı bırakma
- Powershell kullanarak AD'de kullanıcı hesaplarını silme
- Powershell kullanarak AD kullanıcı hesaplarını taşıma
- PowerShell kullanarak kullanıcıları Active Directory grubundan kaldırma
- Powershell kullanarak AD Hesapları için son geçerlilik tarihi belirleme
- Powershell kullanarak AD Hesap Denetimi Değerlerini Değiştirme
- Powershell kullanarak AD hesaplarının kilidini açma
- Powershell kullanarak AD Nesnelerini değiştirme
- Powershell kullanarak AD hesaplarını hiçbir zaman sona ermeyecek şekilde ayarlama
- Powershell Komut Dosyalarıyla AD kullanıcısına proxy adresi ekleme
-
AD Kullanıcı Raporlaması için
- Powershell kullanarak tüm AD kullanıcılarının raporunu alma
- Powershell kullanarak etkin/devre dışı AD kullanıcı hesaplarını alma
- Etkinleştirilmiş AD kullanıcıları raporunu Powershell kullanarak dışa aktarma
- Powershell kullanarak AD'de devre dışı bırakılan kullanıcılar raporunu alma
- PowerShell kullanarak Active Directory hesabı durum raporlarını alma
- Powershell kullanarak kilitli AD kullanıcı hesaplarını bulma
- Powershell kullanarak AD'de hesap süresi dolmuş kullanıcıları bulma
- Powershell kullanarak AD kullanıcı hesaplarının son oturum açma zamanını alma
- Powershell kullanarak birden fazla OU'dan AD kullanıcılarının listesini alma
- Powershell ile hiçbir zaman sona ermeyecek şekilde ayarlanmış AD kullanıcı hesaplarını listeleme
- Powershell kullanarak AD'de belirli kullanıcıları bulma
- Belirli bir Departmana ait AD kullanıcılarının listesini alma
- Powershell kullanarak boş özniteliklere sahip AD kullanıcılarının listesini alma
- Powershell kullanarak Belirli bir CN'ye sahip AD Kullanıcılarının listesini alma
-
GPO Yönetimi için
- Powershell kullanarak GPO oluşturma
- PowerShell kullanılarak GPO bağlantılarını oluşturma ve kaldırma
- Powershell kullanarak GPO'yu düzenleme
- Powershell kullanarak GPO raporu oluşturma
- Powershell kullanarak Bağlantısı Kaldırılış GPO'yu Görüntüleme
- Powershell kullanarak GPO Listesini alma
- Powershell kullanarak GPO Bağlantı Raporu alma
- Powershell kullanarak GPO'yu yedekleme ve geri yükleme
-
Parola Yönetimi için
- PowerShell kullanarak AD kullanıcılarının parolasını değiştirme
- PowerShell kullanarak AD kullanıcısının son parola değiştirme tarihini bulma
- Powershell kullanarak AD hesapları için parola belirleme
- PowerShell ile AD kullanıcısının bir sonraki oturum açışında parolayı değiştirme gerekliliğini ayarlama
- Powershell kullanarak AD kullanıcı parolasını hiçbir zaman sona ermeyecek şekilde ayarlama
- Powershell kullanarak parola süresi dolmuş kullanıcıların listesini alma
- Powershell kullanarak parola süresi yakında dolacak kullanıcıları alma
- Powershell kullanarak parolalarının süresi hiçbir zaman sona ermeyecek AD Kullanıcılarının Listesini alma
- Powershell kullanarak AD Kullanıcılarının Parola Süresini Sona Erme Tarihini Alma
-
AD Grup Yönetimi için
- Powershell kullanarak Active Directory grupları oluşturma
- Powershell kullanarak Active Directory gruplarına kullanıcı ekleme
- Powershell kullanarak bir grubu başka bir AD Grubunun üyesi olarak ekleme
- Powershell kullanarak AD kullanıcıları için ana grup üyeliği ekleme
- PowerShell komut dosyalarını kullanarak AD grubu özniteliklerini değiştirme
- Powershell kullanarak Active Directory gruplarını silme
- PowerShell kullanarak bir grubu AD'deki başka bir gruptan kaldırma
- Powershell kullanarak dinamik dağıtım grupları oluşturma
- Powershell'i kullanarak dağıtım grupları oluşturma
- PowerShell kullanarak dağıtım gruplarına birden fazla üye ekleme
- Powershell kullanarak belirli bir AD kullanıcısının üyelik ayrıntılarını alma
- Powershell kullanarak AD'de grup üyeliği raporu
-
Dosya Erişim Yönetimi İçin
- Active Directory'de klasör izinlerini ayarlama ve değiştirme
- Powershell kullanarak AD'de dosya ve klasör izinlerini algılama
- Powershell'i kullanarak kullanıcının dosya ve klasör erişim izinlerini dışa aktarma
- Powershell kullanarak tüm AD nesnelerinin izinlerini alma
- Powershell kullanarak klasörler ve alt klasörler için ACL'yi alma
- Powershell'i kullanarak NTFS izinlerini alma
-
AD Bilgisayar Yönetimi için
- PowerShell kullanarak AD Bilgisayar hesapları oluşturma
- PowerShell kullanarak AD Bilgisayar özniteliklerini değiştirme
- PowerShell kullanarak AD Bilgisayar hesaplarını etkinleştirme
- PowerShell kullanarak AD Bilgisayar hesaplarını devre dışı bırakma
- Powershell kullanarak AD Bilgisayar hesaplarını taşıma
- PowerShell kullanarak AD Bilgisayar hesaplarını kaldırma
- PowerShell kullanarak etkin olmayan AD Bilgisayar hesaplarını bulma
- Powershell kullanarak AD Bilgisayarının son oturum açma zamanını bulma
- Powershell Kullanarak AD Etki Alanındaki Bilgisayarları Listeleme
-
Office 365 Yönetimi için
- Office 365 Powershell Modülüne Bağlanma Kılavuzu
- PowerShell kullanarak Office 365 gruplarına kullanıcı ekleme
- PowerShell kullanarak Office 365 kullanıcılarına lisans atama
- Office 365 kullanıcı lisanslarını Powershell kullanarak değiştirme
- Powershell'i kullanarak hesabınızdaki tüm Office 365 lisanslarını görüntüleme
- Powershell kullanarak Office 365 lisansını kullanıcı hesaplarından kaldırma
- Powershell kullanarak Office 365 kullanıcıları lisans raporu
- Powershell kullanarak tüm Office 365 grup üyelerini alma
- Powershell kullanarak dinamik dağıtım grubu üyeleri raporu
- Powershell kullanarak dinamik dağıtım grupları raporu
-
Exchange Yönetimi için
- Exchange Online PowerShell'e Bağlanmak için Hızlı Kılavuz
- Powershell ile Exchange Online'da Posta Kutuları Oluşturma
- Powershell kullanarak posta kutularını Exchange Online'dan kaldırma
- PowerShell kullanarak Exchange Online dağıtım grupları listesini dışarı aktarma
- Powershell ile Exchange Server'da Posta Kutuları Oluşturma
- Powershell kullanarak kullanıcı posta kutularını Exchange Server'dan kaldırma
- PowerShell kullanarak Dağıtım Grubu Üyeleri Raporunu Dışa Aktarma
