Windows Server
Powershell AD Komutları
Powershell AD ( Active Directory ) komutları, günlük hayatta işimizi kolaylaştıran komutlardır. Ad üzerinden yapacağımız kontrol ve işleri oldukça kolaylaştırarak zaman kazanmanızı sağlar.
Aşağıda Powershell ile sık kullanılan AD Komutları yer almaktır
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# AD Modülü Yükleme # Import-Module ActiveDirectory # Date Info Scriptin çalıştırıldığı tarihi bir değişkene kaydeder. Excel çıktısında dosya ismine bu tarih eklenmektedir.# $d = Get-Date -UFormat %d%m%Y # Users Info # # Tüm kullanıcı sayısını getirir.# $AllUsers = Get-ADUser -Filter * |Measure-Object # Enable olan kullanıcı sayısını getirir.# $EnableUsers = Get-ADUser -Filter 'enabled -eq $true' | Measure-Object # Disable olan kullanıcı sayısını getirir.# $DisableUsers = Get-ADUser -Filter 'enabled -eq $false' | Measure-Object # Parolası expire olmayan kullanıcı sayısını getirir.# $PasswordNeverExpireUsers = Get-ADUser -Filter 'passwordneverexpires -eq $true' | Measure-Object # Parolası kullanmadan login olabilen kullanıcı sayısını getirir.# $PasswordNotRequiredUsers = Get-ADUser -Filter 'passwordnotrequired -eq $true' | Measure-Object # Bu bölümde yukarıdaki değişkenlere atanmış komut setleri custom objelere atanır. $UsersInfo = New-Object -TypeName PSCustomObject $UsersInfo | Add-Member -MemberType NoteProperty -Name 'All Users' -Value $AllUsers.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'Enable Users' -Value $EnableUsers.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'Disable Users' -Value $DisableUsers.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'PasswordNeverExpireUsers' -Value $PasswordNeverExpireUsers.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'PasswordNotRequiredUsers' -Value $PasswordNotRequiredUsers.Count -PassThru $UsersInfo |Export-Excel C:\Temp\ADReport_$d.xlsx -Append -WorksheetName "UsersInfo" -TableStyle Medium16 -Title "Users Info" -TitleBold # Groups Info# # Tüm grup sayısını getirir.# $AllGroups = Get-ADGroup -Filter * |Measure-Object # Security grup sayısını getirir.# $SecurityGroups = Get-ADGroup -Filter * -Properties GroupCategory | where {$_.GroupCategory -eq 'Security'} | Measure-Object # Distribution grup sayısını getirir.# $DistributionGroups = Get-ADGroup -Filter * -Properties GroupCategory | where {$_.GroupCategory -eq 'Distribution'} | Measure-Object # Üyesi bulunmayan grup sayısını getirir.# $EmptyGroups = Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | Measure-Object # Bu bölümde yukarıdaki değişkenlere atanmış komut setleri custom objelere atanır.# $GroupInfo = New-Object -TypeName PSCustomObject $GroupInfo | Add-Member -MemberType NoteProperty -Name 'All Groups' -Value $AllGroups.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'Security Groups' -Value $SecurityGroups.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'Distribution Groups' -Value $DistributionGroups.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'Empty Groups' -Value $EmptyGroups.Count -PassThru $GroupInfo |Export-Excel C:\Temp\ADReport_$d.xlsx -Append -WorksheetName "GroupInfo" -TableStyle Medium16 -Title "Group Info" -TitleBold # Computers Info# # AD üzerindeki aktif olan tüm computer objelerin sayısını getirir.# $AllComputersEnable = Get-ADComputer -Filter 'enabled -eq $true' | Measure-Object # AD üzerindeki disable durumda olan tüm computer objelerin sayısını getirir.# $AllComputersDisable =Get-ADComputer -Filter 'enabled -eq $false' | Measure-Object # AD üzerindeki enable durumda olan tüm server objelerin sayısını getirir.# $AllEnableServers= Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"' | Measure-Object # AD üzerindeki disable durumda olan tüm server objelerin sayısını getirir.# $AllDisableServers = Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "false"' | Measure-Object # AD üzerindeki enable durumda olan tüm workstation objelerin sayısını getirir.# $AllEnableWorkStation = Get-ADComputer -Filter 'operatingsystem -notlike "*server*" -and enabled -eq "true"' | Measure-Object # AD üzerindeki disable durumda olan tüm workstation objelerin sayısını getirir.# $AllDisableWorkStation = Get-ADComputer -Filter 'operatingsystem -notlike "*server*" -and enabled -eq "false"' | Measure-Object # Bu bölümde yukarıdaki değişkenlere atanmış komut setleri custom objelere atanır.# $ComputersInfo = New-Object -TypeName PSCustomObject $ComputersInfo | Add-Member -MemberType NoteProperty -Name 'All Computers (Enable)' -Value $AllComputersEnable.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'All Computers (Disable)' -Value $AllComputersDisable.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'All Servers (Enable)' -Value $AllEnableServers.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'All Servers (Disable)' -Value $AllDisableServers.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'All Workstations (Enable)' -Value $AllEnableWorkStation.Count -PassThru | Add-Member -MemberType NoteProperty -Name 'All Workstations (Disable)' -Value $AllDisableWorkStation.Count -PassThru $ComputersInfo |Export-Excel C:\Temp\ADReport_$d.xlsx -Append -WorksheetName "ComputersInfo" -TableStyle Medium16 -Title "Computers Info" -TitleBold |