Domain Bilgileri
Bağlı Olunan Domain Controller
echo %LOGONSERVER%
systeminfo | findstr "Domain:"
Active Directory Üzerindeki Konum
gpresult /V | findstr CN=
Domaindeki Kullanıcılar
net user /domain
Domaindeki Gruplar
net groups /domain
Domain Yöneticileri
net group "Domain Admins" /domain
Domaindeki Makineler
net group "Domain Computers" /domain
Domain Controller Makineler
net group "Domain Controllers" /domain
Oturumunda Olunan Kullanıcının Adı
whoami
echo %computername%\%username%
Kullanıcıya Ait Tüm Bilgiler
whoami /all
Kullanıcıyı Yerel Yöneticiler Grubuna Eklemek
net localgroup Administrators ertugrul.basaranoglu /add
Domaindeki hesap politikası
net accounts
Uzaktaki Bilgisayarın Sistemi
psinfo \\172.16.4.230 -h -s -d
Uzaktaki Bilgisayarın Komut Satırına Geçmek
psexec \\172.16.4.230 -u FENER\alex -p 1907?Fenerbahce cmd.exe -i 0
Uzaktaki Bilgisayarda çalışan prosesler
tasklist /V /S 172.16.72.129 /U FENER\alex /P 1907?Fenerbahce
Makinede Açık Olan Tüm Oturumlar
query session
qwinsta
Grup İlkesinin Güncellenmesi
gpupdate /force
Grup İlkesi
gpresult /z
Domain Yöneticilerinin Domaindeki İlke Bilgileri
for /f "delims=" %X in (DomainAdminsGrubuUyeleri_Listesi.txt) do net user %X /domain >> DomainAdminsGrubuUyelerininİlkeBilgileri.txt
Not: Tek bir kullanıcının domain ilke bilgisini elde etmek için aşağıdaki komut kullanılabilir:
net user ertugrul.basaranoglu /domain
Not: Oturumu açılan bir kullanıcının domain ilke bilgisini elde etmek için aşağıdaki komut kullanılabilir:
whoami /all
Not: Girdi olarak verilen liste (DomainAdminsGrubuUyeleri_Listesi.txt), Domain Yöneticilerini bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.
Domain Yöneticilerinin Domaindeki Tüm Bilgileri
for /f "delims=" %X in (DomainUsersGrubundakiKullanicilar_Listesi.txt) do gpresult /USER %X /V >> DomainAdminsGrubuUyelerininDomaindekiTumBilgileri.txt
Not: Tek bir kullanıcının domaindeki tüm bilgilerini elde etmek için aşağıdaki komut kullanılabilir:
gpresult /USER ertugrul.basaranoglu /Z
Not: Girdi olarak verilen liste (DomainAdminsGrubuUyeleri_Listesi.txt), Domain Yöneticilerini bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.
Kullanıcıların Açık Olan Oturumları
for /f "delims=" %X in (DomainUsersGrubundakiKullanicilar_Listesi.txt) do PsLoggedon -l %X >> KullanicilarinAcikOlanOturumlari.txt
Not: Tek bir kullanıcının açık olan oturumunu elde etmek için aşağıdaki komut kullanılabilir:
PsLoggedon -l ertugrul.basaranoglu
Not: Girdi olarak verilen liste (DomainUsersGrubundakiKullanicilar_Listesi.txt), Domain Kullanıcılarını bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.
Not: Domain Controller makinesinde Security Event'lerdeki kayıtlardan tek bir kullanıcının açık olan oturumunu elde etmek için aşağıdaki power shell komutu kullanılabilir:
Get-EventLog security 4624 -newest 10000 | Where-Object{$_.Message -like '*ertugrul.basaranoglu*'}| format-list Message
Bilgisayarlarda Oturumu Açık Olan Kullanıcılar
for /f "delims=" %X in (DomainComputersGrubundakiBilgisayarlar_Listesi.txt) do PsLoggedon -l \\%X >> BilgisayarlardaOturumuAcikKalanKullanicilar.txt
Not: Tek bir bilgisayarda açık olan kullanıcı oturumlarını elde etmek için aşağıdaki komut kullanılabilir:
PsLoggedon -l \\TestBilgisayari
logonsessions.exe /p
Get-WmiObject -Class Win32_NetworkLoginProfile | Sort-Object -Property LastLogon -Descending | Select-Object -Property * -First 1 | Where-Object {$_.LastLogon -match "(\d{14})"} | Foreach-Object { New-Object PSObject -Property @{ Name=$_.Name;LastLogon=[datetime]::ParseExact($matches[0], "yyyyMMddHHmmss", $null)}}
Not: Girdi olarak verilen liste (DomainComputersGrubundakiBilgisayarlar_Listesi.txt), Domain Bilgisayarlarını bulurken elde edilen kayıtların tek tek alt alta yazdırılmasıyla oluşmuştur.
Uzak Masaüstü Protokolünü Etkinleştirme
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
Audit İlkesi
auditpol /get /category:*
Group İlkesi Arayüzü
rsop.msc
Disable Durumdaki Tüm Kullanıcılar
dsquery user "dc=fener,dc=tubitak,dc=gov,dc=tr" -disabled -limit 0 | dsget user -samid > disableduser.txt
Parolası Sona Ermeyecek Olan Tüm Kullanıcılar
Get-ADUser -Filter 'PasswordNeverExpires -eq $true' -Server localDC | select name
Domaindeki Kullanıcının Ofis, Görev vs Bilgileri
dsquery user -samid FENER\alex | dsget user -office -desc -display > AlexBilgileri.txt
NonExpired Durumdaki Tüm Kullanıcılar
dsquery * domainroot -limit 800 -filter "(&(objectClass=user) (userAccountControl>=65536))" -attr sAMAccountName userPrincipalName userAccountControl -d fener.tubitak.gov.tr
dsquery * domainroot -filter “(&(objectcategory=person)(objectclass=user)(lockoutTime=*))” -limit 0
Kullanıcıya ait oturumdaki ilk biletlerin saklandığı yerlerin kaydı
reg query "\\192.168.170.62\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit
Domaindeki gruplar ve üyeleri
dsquery group -limit 0 | dsget group -members –expand
Domaindeki Windows 2008 Sunucularının Listesi
Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*2008*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack -Wrap -Auto
Domaindeki kullanıcıları oturum açma vakitlerine göre listeleme
Get-ADUser -Filter * -Properties "LastLogonDate" | sort-object -property lastlogondate -descending | Format-Table -property name, lastlogondate -AutoSize
90 gündür oturum açmamış olan kullanıcıları listeleme
Search-ADAccount -UsersOnly -AccountInactive -TimeSpan 90 | ?{$_.enabled -eq $True} | where {$ _.ObjectClass -eq 'user'} | Get-ADUser -Properties EmailAddress, DisplayName, Name, sn, lastlogondate, passwordlastset | Select EmailAddress, Name, lastlogondate, passwordlastset
Kullanıcısı olmayan grupların listelenmesi
Get-ADGroup -Filter {GroupCategory -eq 'Security'} | ?{@(Get-ADGroupMember $_).Length -eq 0}
6 aydır hesabı aktif olmayan kullanıcıları listeleme
$sixMonths = (Get-Date).AddMonths(-6)
Search-ADAccount -accountinactive -usersonly -datetime "$sixMonths"
4 haftadır aktif olmayan kullanıcıları disable etme
dsquery user "dc=pearson,dc=itcertification,dc=com" -inactive 4 | dsmod user -disabled yes
60 gündür parolasını değiştirmeyen kullanıcılar
dsquery user "dc=pearson,dc=itcertification,dc=com" -stalepwd 60 > stale.txt
Parolası sona ermeyen kullanıcılar
Get-ADUser -Filter 'PasswordNeverExpires -eq $true' -Server localDC | select name
Search-ADAccount -PasswordNeverExpires | FT Name,ObjectClass -A
Get-ADUser -filter {(Description -notlike "Service*") -and (Enabled -eq "True") -and (PasswordNeverExpires -eq "True")} -properties *) | select samaccountname,description
Domain Kullanıcıların mail adresleri
dsquery user -name "user name"|dsget user -samid -email -display
get-mailbox | fl name, emailaddresses
Get-QADUser -SizeLimit 0 -Enabled -Email * | Select-Object DisplayName,Email
İlişkili Sayfalar
http://technet.microsoft.com/en-us/library/cc722416(v=ws.10).aspx
http://www.robvanderwoude.com/ntadmincommands.php
http://ckerekes.com/dsquery.shtml
http://ss64.com/nt/dsquery-user.html
http://www.netspi.com/blog/2012/07/09/5-ways-to-find-systems-running-domain-admin-processes/
http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/eaff2f69-d17b-4235-9f8a-9f42840cac56/