Fedora 32 genel kullanıma sunuldu. Bu adresden "Workstation / Masaüstü", "Server / Sunucu" olarak indirebilirsiniz.
Standart dağıtım "Gnome" pencere yöneticisi ile geliyor, "KDE PLASMA Desktop", "Xfce Desktop", "LXDE Desktop", "LXQT Desktop ", "MATE-Compiz", "CINNAMON Desktop", "SOAS Desktop" için bu adresi kullanabilirsiniz.
"Sugar on a Stick" ve diğer "ARM" işlemci desktekli sürümler için de bu adresi kullanabilirsiniz.
Sürüm 22'den 32'ye kaç senede gelinmiş derseniz de duyuru burada! :-)
Tuesday, April 28, 2020
Friday, April 24, 2020
Powershell ile Paylaşım Yetkilerini Listeleme
Windows Server sürüm 2012 öncesi sunucularınızdaki dosya paylaşımlarınızı, yeni sürüm sunuculara taşımak istediğinizde, karşılaşacağınız sorunlardan bir tanesi de paylaşım yetkilerini almak olacaktır.
RoboCopy aracı ile disk ya da klasör olarak NTFS yetkilerini kopyalayabilirsiniz. Burada bilgi bulabilirsiniz:
https://hcaglar.blogspot.com/2010/09/rsync-ve-robocopy.html
Paylaşım yetkilerini almak için ise WMI'dan yararlanılabilinir.
Powershell (PS) sürüm 5.1 ile Windows 10 yüklü makinanızdan, Windows 2008 R2 sunucunuzdaki paylaşım yetkilerini olabilirsiniz.
Bunu bir kaç aşamada yapmak mümkün;
- 1. aşamada var olan paylaşım isimleri ve adresleri bir csv dosyaya kaydedilir, bu dosyada gereksiz olanları silmeyi unutmayınız;
- 2. aşamada csv dosya kullanılarak paylaşım yetkileri listelenir ve bir başka csv dosyaya kaydedilir;
- 3. son aşamada yeni sunucuda her 2 csv dosya kullanılarak paylaşımlar yeniden oluşturular, yetkiler verilir. Bu aşama için gerekli olan komutlar en sonda verilmiştir.
Tüm bu aşamalar, aşağıdaki PS betiğinde toplandı. Sadece listeleme ve csv dosyalara kayıt yapmaktadır.
Admin yetkisi ile açacağınız "PS ISE" penceresine aşağıdaki betiği yapıştırınız. Belirtilen yerlerde gerekli değişiklikleri yapınız.
Sunucudan WMI ile ilgili bilgi alabilmek için karşı tarafta; yetkiniz olmalı, güvenlik duvarında ilgili izinler verilmiş olmalı ve son olarak da DCOM ve RPC servisleri çalışıyor olması gerekir.
#
# Bu adresden yararlanılmıştır.
# https://kimconnect.com/powershell-copy-smb-share-permissions-from-legacy-sources/
#
#
#
cls
# Sunucu_Adi ve csv dosya adreslerini ("c:\temp") değiştirmeyi unutmayiniz!
#
#
$smbServerName="Sunucu_Adi"
#
# paylaşım isimlerinin yazılacağı csv dosya
$csv_dosya="c:\temp\"+$smbServerName+"_paylasimlar.csv"
#
# yetkilerin yazılacağı csv dosya
$csv_dosya_02="c:\temp\"+$smbServerName+"_yetkiler.csv"
#
#if (test-path $csv_dosya) {remove-item $csv_dosya} {}
#if (test-path $csv_dosya_02) {remove-item $csv_dosya_02} {}
####### 1. aşama
#
#
# var olan sunucudan paylasim isimleri ve adresleri alınarak csv dosyaya kaydediliyor...
#
Get-WmiObject -Class Win32_Share -ComputerName $smbServerName | sort Description | select-object Name, Path | Export-Csv $csv_dosya -NoClobber -Encoding UTF8
####### 2. aşama için komut oluşturuluyor, aşağıda csv dosya kullanılarak çalıştırılacak...
function SMB_Yetkileri_Listele{
param(
[string]$smbServerName,
[string]$smbShareName
)
#
# "$" biten paylaşım isimleri kullanmış iseniz, '|where-object{$_.Name -notlike "*$"}' bölümünü aşağıdaki satır sonundan siliniz.
#
$smbList = Get-WmiObject win32_LogicalShareSecuritySetting -ComputerName $smbServerName|where-object{$_.Name -notlike "*$"}
if($smbList){
$smbObject=$smbList|where-object{$_.Name -eq $smbShareName};
}else{
$message="$smbServerName isimli sunucudan, SMB yetkileri almada hata olustu!";
$GLOBAL:messages+=$message+"`r`n";
write-host $message -ForegroundColor Yellow;
$smbObject=$false;
}
if($smbObject){
$message="$smbShareName isimli paylasim yetkileri aliniyor...";
$GLOBAL:messages+=$message+"`r`n";
Write-Host `r`n$message;
$smbPermissions = @()
$acls = $smbObject.GetSecurityDescriptor().Descriptor.DACL
foreach($acl in $acls){
$user = $acl.Trustee.Name
if(!($user)){$user = $acl.Trustee.SID}
$domain = $acl.Trustee.Domain
switch($acl.AccessMask){
2032127 {$accessRight = "Full"}
1245631 {$accessRight = "Change"}
1179817 {$accessRight = "Read"}
}
$smbPermissions+=[PSCustomObject]@{Paylasim=$smbShareName;Yetki=$accessRight;Hesap="$domain\$user"};
}
#
# 2. aşama sonucu csv dosyaya kaydedilmesi...
#
return $smbPermissions |select-object Paylasim,Yetki,Hesap |Export-Csv $csv_dosya_02 -append -NoClobber -Encoding UTF8;
#
}else{
write-host ("-" * 40)
write-host "Paylasim ile ilgili hata var!";
write-host $smbShareName -ForegroundColor Yellow;
write-host ("-" * 40)
return $false ;
}
}
# başlardaki $smbServerName ve $csv_dosya değiştirmeyi unutmayiniz!
#
####### 2. aşama
#
#
import-csv $csv_dosya -Encoding UTF8| foreach-object {SMB_Yetkileri_Listele -smbServerName $smbServerName -smbShareName $_.name;}
#
#Ekrana listelemek için
#
import-csv $csv_dosya_02
####### 3. aşama
#
#
# Aşağıdaki komutları, yeni sunucuda paylaşımları tekrar oluşturmak, listelemek için kullanabilirsiniz.
#
# ilk csv dosyadaki gereksiz paylaşımları temizlemeyi unutmayiniz, "C$", "ADMIN$" gibi.
#
# 2. csv dosyada eklemek veya çıkartmak istediğiniz hesapları güncellemeyi unutmayınız.
#
# csv dosyaları da, yeni sunucuda komutları çalıştıracağınız adrese kopyalamayı unutmayınız.
#
# ilk komut ile sadece, "Domain Admins" tam yetkili olacak, diğer yetkiler 2. dosyadan aşağıda eklenecek.
#
#
# import-csv $csv_dosya | foreach-object { New-SmbShare -Name $_.Name -Path $_.Path -FullAccess "$env:userdomain\Domain Admins"}
#
# Diğer yetkiler;
#import-csv $csv_dosya_02 |foreach-object {Grant-SmbShareAccess -Name $_.Paylasim -AccessRight $_.Yetki -AccountName $_.Hesap}
#
# yetkileri listeleme
#import-csv $csv_dosya| foreach-object {Get-SmbShareAccess -Name $_.Name | format-table Name, AccountName, AccessRight -autosize}
#
#
Umarım işinize yarar.
Tuesday, April 14, 2020
PC 'nizde BIOS da bulunan Windows anahtarını komut satırında bulma ve yeniden kullanma
Son dönem kurumsal donanımlarda, Windows Anahtarınızı üzerinde yazan bir etiket bulunmamakta ve Windows İşletim Sistemini yeniden kurmanız gerektiğinde, bu anahtara ihtiyacınız olabilecek durumlar olabilmektedir.
Admin yetkili açacağınız cmd konsolunda şu komutları kullanabilirsiniz:
Bu komutları bir betik içinde kullanmak isterseniz de:
Son satırdaki komut çıktısında;
License Status: Licensed
...
görüyorsanız işleminiz başarılı olmuş demektir.
Notification ya da unlicensed başarısız.
Admin yetkili açacağınız cmd konsolunda şu komutları kullanabilirsiniz:
wmic path softwarelicensingservice get oa3xoriginalproductkey
slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
slmgr.vbs /ato
Bu komutları bir betik içinde kullanmak isterseniz de:
for /F "skip=1 tokens=*" %%b in ('wmic path softwarelicensingservice get oa3xoriginalproductkey') do if not defined Anahtar set Anahtar=%%b
cscript %windir%\system32\slmgr.vbs /ipk %Anahtar%
cscript %windir%\system32\slmgr.vbs /ato
cscript %windir%\system32\slmgr.vbs /dlv >> %temp%\Etkinlestirme_Durumu.txt
Son satırdaki komut çıktısında;
cscript %windir%\system32\slmgr.vbs /dlv...
License Status: Licensed
...
görüyorsanız işleminiz başarılı olmuş demektir.
Notification ya da unlicensed başarısız.
Tuesday, November 19, 2019
Komut satırından hızlıca ping ile yanıt veren IP leri bulma
Bazen elinizin altında tek araç kullandığınız işletim sisteminin komut satırı olabilir. Bu tür bir durumda hızlıca ağdaki IP adreslerini bulmak için aşağıdaki komutlar işinize yarayabilir.
CMD:
PowerShell:
Powershell için ping yerine kendi komutunu kullanmak isterseniz, "Play by Play: PowerShell from Idea to Action with Don Jones and Jeff Hicks" isimli videoyu izelrken gördüğüm komutu da ekliyorum, sadece yanıt veren IP'leri listeleyecek:
Linux:
Bu ve benzeri komutlar için, artık aktif olmayan ama işe yarayacak bir şeylerin hala bulunabileceği bu adresi önerebilirim:
http://blog.commandlinekungfu.com/
CMD:
FOR /L %i in (1,1,5) do @ping -n 1 192.168.3.%i | findstr "TTL"
PowerShell:
(1..5) | % {ping -n 1 192.168.3.$_ | sls "TTL"}Powershell'i Linux/Mac üzerinde kullanıyorsanız "-n" yerine "-c" kullanmayı unutmayınız.
Powershell için ping yerine kendi komutunu kullanmak isterseniz, "Play by Play: PowerShell from Idea to Action with Don Jones and Jeff Hicks" isimli videoyu izelrken gördüğüm komutu da ekliyorum, sadece yanıt veren IP'leri listeleyecek:
1..5 | ? {Test-Connection "192.168.3.$_" -count 1 -quiet} | % {"192.168.3.$_"}
Linux:
for ((i=1; i <= 5 ; i++)); do ping -c 1 192.168.3.$i | grep ttl ; doneParantez içlerindeki "5" leri, test sonrası tüm ağ için "254" yazarak kullanınız.
for i in {1..5} ; do ping -c 1 192.168.3.$i | grep ttl ; done
Bu ve benzeri komutlar için, artık aktif olmayan ama işe yarayacak bir şeylerin hala bulunabileceği bu adresi önerebilirim:
http://blog.commandlinekungfu.com/
Tuesday, March 26, 2019
Puppy Linux 80
Friday, February 15, 2019
Raspberry Pi 3 Model B ya da B+ üzerinde Windows 10 ARM
Raspberry Pi 3 Model B ya da B+ üzerinde Windows 10 ARM sürümünü çalıştırmak isterseniz, İngilizce bilgilerin yer aldığı
Proje Sayfası ve haberin yer aldığı bağlantılar:
2018 LinuxQuestions.org Members Choice Award Winners
LinuxQuestions.org sitesi, üyeleri arasında yaptığı anket ile 2018 en iyi Linux ile ilgili tercihleri belirlemiş.
Subscribe to:
Posts (Atom)




