22 Ocak 2017 Pazar

Mucize komut satırı Wmic ve bir kaç sihirli komut

Windows Yönetim Araçları komut satırı (WMIC), Windows Server 2003 ailesindeki işletim sistemlerini çalıştıran bilgisayarları yönetmek için WMI’dan yararlanmanıza olanak vermek amacıyla, Windows Yönetim Araçları’na (WMI) yönelik, basit bir komut satırı arabirimi sağlar. WMIC, var olan kabuklar ve hizmet programı komutlarıyla birlikte çalışır ve komut dosyaları veya diğer yönetime dayalı uygulamalar yoluyla kolayca genişletilebilir.

Kullanımı basittir, komut satırına wmic yazıp enter e basılırsa wmic editörü gelir ya da direkt wmic den sonra /"istenen komu" yazarak ta çalışabilir...

Aşağıdaki örnekte üstte bilgisayarımızın modelini direkt öğreniyoruz. Seri numarasını da editöre geçerek öğreniyoruz...





Örnek yapabileceğimiz en basit şeylerden birisi ancak ağımızdaki bir çok bilgisayar 
için bu bilgiler gerekliyse çok yararlı olabiliyor. 
Bilgisayarınızdaki program listesi servis listesi vb. şeyler listelenebiliyor. 
ilenirse istenen çıktı formatı ayarlanabiliyor text ya da html olarakta dönüştürülebiliyor. 
Sizin ya da ağdaki bilgisayarlarınız için program bile kaldırabiliyorsunuz.
Mesela başka bir örnek verelim; Sonrasında da daha da detaya inelim.
Örneğin wmic ile servislerinizin listesini almak isterseniz;
wmic komut satırında SERVICE yazmanız yeterlidir.
Bunu bir dosyaya çıktı olarak yollamak isterseniz;
WMIC /OUTPUT:”C:\ServiceList.txt”
Service komut çıktısında çok fazla detay var, bana hepsi lazım değil derseniz 
özelleştirebilirsiniz:
WMIC Service Get caption, name, Started, Startname, state
gibi özelleştirebilir, istediğiniz kolonlardaki bilgiyi alabilirsiniz.

Çıktıyı text değil de html formatında da alabilirsiniz. Hatta bir kolona göre sıralayabilirsiniz 
WMIC /OUTPUT:”C:\ServiceList.html” SERVICE Get caption, name, Started, Startname, 
state /format:”htable-sortby.xsl”:”sortby=State”
WMIC’i hem lokal makinede kullanabilirsiniz hem de uzak bilgisayarlardan 
bilgi toplayabilir veya konfigurasyon yapabilirsiniz.
Yapabilecek çok fazla komut var listesini de  wmic /?  yazarak öğrenebiliyoruz...

Kendi kullandığım ve netten bulduğum bir kaç hazır komut var onları da paylaşacağım...

Belirli bir bilgisayarda kurulu programları listelemek için:
/node:BİLGİSAYARADI product get name,version,vendor
İsminde adobe geçen programları listelemek için:
/node:BİLGİSAYARADI product where "name like 'adobe%'" get name,version,
identifyingNumber
Program kaldırmak için:
/node:BİLGİSAYARADI product where name="TeamViewer" call uninstall
Birçok bilgisayardan aynı anda belirli bir programı kaldırmak için:
/failfast:on /node:@"c:\bilgisayarlar.txt" product where name="TeamViewer" 
call uninstall /nointeractive
NOT:(Bu komuttaki bilgisayarlar.txt dosyası domain’deki bilgisayar isimlerini içeren bir 
metin dosyası olacaktır. /failfast:on parametresi komut çalıştırıldığı sırada çevrimdışı
olan bilgisayarları atlayarak ilerlemeyi sağlar. /nointeractive parametresi program 
kaldırma işleminden önce onay sorusunun sorulmasını engeller.)

Domain’deki bilgisayarlarda program aramak ve bunların çıktısını almak
/node:@srv.txt /user:DOMAIN\USERNAME /password:PASSWORD /output:out.txt 
product where "name like '%.net framework%'" get name, version /format:csv
NOT:(srv.txt dosyasını arama yapılacak her bilgisayar adı bir satıra gelecek şekilde 
oluşturabilirsiniz. Komutu psexec yardımıyla da kullanabilirsiniz.)
Sunucularda kurulu olan Windows Update paketlerini listelemek 
wmic qfe get csname,hotfixid | find /i "KBxxxx" > c:\sonuc.txt
Bir uzak makinenin TCP/IP ayarlarını öğrenmek
WMIC /NODE:”UzakMakineAdi” /USER:”Domain\KullaniciAdi” 
/PASSWORD:”P@ssw0rd” /OUTPUT:”C:\IpConfig.txt” NICCONFIG Get Caption
,IpAddress, IpSubnet, DNSHostName, DefaultIpGateway, DHCPEnabled
, DHCPServer, WINSPrimaryServer, DHCPEnabled

 Ip adresini bildiğiniz aynı ağ üzerinde olan bilgisayarda o anda kimin oturumu 
açık olduğunu öğrenmek
WMIC /Node:10.24.10.55 ComputerSystem Get UserName 
Uzaktaki bir bilgisayarın seri numarasını, işletim sistemi versiyonunu, 
bilgisayarın adını, cihazın marka ve modelini öğrenme
wmic /node:10.24.10.55  Bios get  Serialnumber, Systemname, Name, Description, Manufacturer
Listesini oluşturduğumuz ağdaki bilgisayarların istenilen bilgilerinin 
listesini yazdırmak
wmic /node:@%userprofile%\desktop\computers.txt /Output:”%userprofile%\desktop\ProcessorReport.txt” bios get Serialnumber,Systemname,Name,Description,Manufacturer,AddressWidth,DeviceID /format:list
NOT:( computer.txt isimli dosya içinde alt alta yazdığınız bilgisayarların
(ip ya da netbiosname) bilgilerini masaüstünüzdeki bir dosyaya liste şeklinde yazdırabilirsiniz.
 /format parametresyle oynayarak bu çıktının csv ya da html olmasını sağlayabilirsiniz. )
Yüklü olan yama listesi için:
wmic qfe list
Static bir ip adresi vermek için:
wmic nicconfig where index=9 call enablestatic(“10.0.0.2”), (“255.255.255.0”)
Gateway adreslerini değiştirmek için:
wmic nicconfig where index=9 call setgateways(“10.0.0.4”, “10.0.0.5”),(1,2)
DHCP enable hale almak için:
wmic nicconfig where index=9 call enabledhcp
Harddisk sürücü hakkında bilgi almak için:
wmic logicaldisk where drivetype=3 get name 

20 Ocak 2017 Cuma

Remote Desktop Özelliğini Uzak Bilgisayarda Aktif Etme

Uzak masaüstü (RDP) hepimizin günlük hayatinda siklikla kullandigi bir teknoloji. Firma içerisinde çalisanlarin bilgisayarlarinda sikinti yasamasi durumunda bir IT çalisani nin sikinti yasanan bilgisayarin yanina gitmek yerine RDP olarak adlandirdigimiz bu teknolojiyi kullanarak çalisanin bilgisayarina uzaktan baglanmak yoluyla yardim edebilmekte.
Ancak bu özelligin çalisabilmesi için öncellikle bu özelligin açilmasi gerekiyor. Bilgisayarinizin System Properties kismina girip “Remote” sekmesine gittiginizde iki kisim ile karsilasirsiniz, bunlardan ikincisi bilgisayarimizdaki “Remote Desktop” özelliginin durumu gösteriyor. Asagidaki örnekte görebileceginiz üzere bende bu özellik simdilik kapali “Don’t allow” gözüküyor.
image 
Uzak masaüstü özelligi isletim sisteminin kurulumunda kapali olarak gelir ve böyle bir durumda baska bir bilgisayar üzerinde bu bilgisayarlara baglanmaniz mümkün olmaz. Ancak “Allow” seçenegini isaretlemeniz durumunda bu bilgisayarlara uzaktan masaüstü yöntemiyle baglanmaniz mümkün olabilir. Tabi bu seçenegin kapali olmasi baska bir sorunu dogruyor, “bu özelligi bilgisayarin yanina gitmeden nasil açabiliriz?”. Bu özelligi sadece bilgisayara giderek açabiliyor olsaydik pek anlamli bir çözüm olmazdi. Birçok admin günümüzde bu özelligi uzaktan bir registry degisikligi yaparak açiyor ve bu çözüm çok da güzel çalisiyor, ancak bu yazimda çok daha kolay bir yönetmden bahsedecegim ve isterseniz bu yöntem ile yüzlerce bilgisyarda bu özelligi tek bir komut kullanarak açabileceksiniz.
Isin sirri WMI da, simdi sirasiyla WMI ile uzak masaüstü için neler yapabilecegimize sirasiyla bakalim. Öncelikle test için kullandigim client üzerinde WMI in komut satiri toolunu kullanarak yukaridaki GUI üzerinden de yapabilecegimiz uzak masaüstü özelligini komut satirindan açalim.
wmic rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
image
ReturnValue olarak “0” dönmesi hata almadigimiz anlamina geliyor. Simdi islemin basariyla sonuçlanip sonuçlanmadigini tekrar GUI de bulunan “Remote” sekmesinden kontrol edelim. Asagida görebildiginiz üzere uzak masaüstü artik allow gösteriyor.
image
Ancak bu komutu uzak masaüstü özelligini açtigimiz bilgisayar üzerinden çalistirdik, yani yine bir faydasi yok gibi, simdi bir adim da ileriye giderek yine WMI üzerinden uzaktaki bir bilgisayarin uzak masaüstü özelligini açalim. Bunun göstermek için iki bilgisayar kullanacagim, “DC4” komutlari çalistiracagim sunucu olacak, “clientc” ise uzak masaüstü özelligini açacagim Windows 7 client olacak.
Önce “DC4” üzerinden mstsc.exe kullanarak “clientc” ye uzak masaüstü baglantisi yapmaya çalisalim. Görebildiginiz gibi “DC4” üzerinden baglanmak isterken bir hata aldik.
image 
Simdi tekrar “DC4” ün komut satiri üzerinden asagidaki komutu çalistiralim (yapamiz gereken daha önce kullandigimiz wmic komutuna /node anahtarini ekleyip buraya komutun çalismasini istedigimiz bilgisayarin adini girmek). Asagida görebildigimiz gibi komut basariyla çalisti ve artik “clientc” ye uzak masaüstü kullanarak baglanabiliyor olmamiz gerekiyor.
wmic /node:clientc rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
image 
Baglantinin çalisip çalismadigini test etmek için tekrar mstsc.exe yi kullanarak “clientc” ye baglanmaya çalisiyoruz. Asagida görebildigimiz gibi“clientc” bilgisayarina artik uzaktan erismek mümkün.
Capture
Bunu bir adim daha ileriye götürecek olursak (daha ne adimi demeyin), örnegin etki alanimizda bulunan yüzlerde bilgisayarda uzaktan masaüstü özelligini açmak istesek ne yapabiliriz? Ayni komutu yüzlerce kez elle çalistirmak yine zaman alici bir süreç olacaktir. Çözüm çok basit yapacagimiz islem isin özünde yine ayni komutu kullanarak ve buna sadece bir For döngüsü ile birlestirmek istedigimiz bilgisayarlarda bu islemi uygulamak mümkün.
Ilk yapmamiz gereken bir TXT dosyasina uzak masaüstü özelligini açmak istedigimiz bilgisayarlarin adini sirasiyla girmek ve bu dosyayi kaydetmek sonrasinda asagidaki komutu çalistirmamiz yeterli olacak. Örnegin uzak masaüstünü tüm windows 7 clientlarda açmak istiyoruz ve Windows 7 bilgisayarlarimin listesini “win7.txt” olarak bir dosyaya kaydettim.
for /F %I in (win7.txt) DO wmic /node:%i rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
Yukaridaki döngüyü kullanarak istedigimiz tüm istemcilerde artik uzak masaüstü özelligini açabiliriz, diyelimki tam tersini yapmak istiyorsunuz. Bu durumda sifir ve bir in yerini degistirerek (AllowTSConnections="0" call SetAllowTSConnections "1")tüm açik olan uzak masaüstü özelligini ayni yöntemi uygulayarak kapatmaniz mümkün. Umarim sahada uygulamaya geçebileceginiz faydali bir yazi olmustur.


Windows 7 Logon Ekranını Programsız Özellestirmek

Eski isletim sistemlerinde Windows un logon ekranini degistirmek istedigimizde bunu ancak 3rd party yazilimlar ile yapabiliyorduk. Artik Windows 7 ile beraber logon resmini degistirmek için bu tür yazilimlar kullanmaya gerek kalmiyor, ürün grubu bu ihtiyacin önceliklendirip Windows 7 içerisine ekledi. Yapmamiz gereken birkaç adimdan ibaret.
Öncelikle kayit defterine (Registry) bazi kayitlar girmemiz gerekiyor, bunun için asagidaki resimde bulunan satirlari notepad de yazip dosyayi REG uzantili kaydetmeniz yeterli, dosyayi kaydettikten sonra dosyayi çalistirmaniz kaydin otomatil olarak yaratilmasini saglayacak.

Windows Registry Editör Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background]

"OEMBackground"=dword=00000001

image
Logon ekranina koyacaginiz resmi belirledikten sonra (uzantisi JPG olacak ve boyutu 256kb i geçmemek sarti ile) ismini resmin çözünürlügü ile beraber kaydedin, örnegin benim kullandigim resmin çözünürlügü 1024×768 bu sebeple resmi su sekilde kaydettim “Background1024x768.jpg
image
Kaydettiginiz bu resmi “%windir%\system32\oobe\info\backgrounds” klasörüne kopyalayin, “info” ve “backgrounds” klasörleri default olarak yoktur bunlari elle olusturmaniz gerekiyor.
Bu asamadan sonra logoff ve logon olmaniz yeni arka fon u görmeniz için yeterli olacaktir asagida orjinal ve degisiklik sonrasi özellestirdigim arka fon u görebilirsiniz.
imageimage


Önemli detaylar:
Asagida kullanabileceginiz dosya isimlerini listeliyorum, eger uygun dosya bulunamaz ise “backgrounddefault.jpg” ekran çözünürlügünüze uyacak sekilde stretch edilerek yüklenecektir.
  • backgroundDefault.jpg
  • background768x1280.jpg
  • background900x1440.jpg
  • background960x1280.jpg
  • background1024x1280.jpg
  • background1280x1024.jpg
  • background1024x768.jpg
  • background1280x960.jpg
  • background1600x1200.jpg
  • background1440x900.jpg
  • background1920x1200.jpg
  • background1280x768.jpg
  • background1360x768.jpg
Eger Windows Theme lerde degisiklik yaparsaniz Kayit defterine girdigimiz “OEMBackground”un degerinin “1” den “0” a dönüsüp ayarlarinizin geri dönmesi söz konusu. Bunu Grup Politikalarinda bir ayar yaparak engellemeniz mümkün, detaylari linkte bulabilirsiniz. The value of OEMBackground registry key resets back to 0 after theme gets changed
Bu degisikligi Aktif Dizin ortaminda bulunan yüzlerce veya binlerce kullanici bilgisayarinda yapmak istiyorsaniz, size GPP (Group Policy Preferences) yi kullanmanizi öneririrm 5 dakikalik bir ayar ile tüm islemi sorunsuz gerçeklestirebilirsiniz.

Ses ve Video için cmd komutları

Elimdeki HEVC /H265 mkv videoları bir türlü LG televizyonumda izleyemiyordum. Ufak bir araştırmadan sonra bu videoların AVC/H264 mp4 e dönüştürerek izlenebileceğini tespit ettim ve converter programı aramaya giriştim ancak bir türlü sonunu getiremeden ya kesiliyor ya da hatalı dönüşüyordu. İşte o zaman ffmpeg komutunu daha önce görsem de cmd ekranında video ve ses dosyaları üzerinde işlem yapmanın uygun olmayacağını düşündüğümden hiç kullanmadığım bu komutu biraz araştırdım ve karşıma enteresan şeyler çıktı.
Aslında bizim kullandığımız editleme ve converter programlarının da bu komutu kullandığını öğrendim ve çok başarılı şekilde işlemimi yaptım.
Kullandığım komut: c: root dizinine attığım dosya için;

c:\>ffmpeg -i Deadpool265.mkv -c:a copy -x265-params crf=25 Deadpool264.mp4

Size bu komutun nette bulduğum bir kaç kullanış şeklini sunuyorum. Benim işime çok yaradı, hiç programa bulaşmadan bir çok işlem yapılabiliyor... Artık Programa bulaşmam. Siz de kullanıp olumlu sonuç aldığınız komutları yazarsanız güzel bir arşiv yaparız...
Tabi komut sizde yüklü olmayabilir. Aşağıdaki linkten size uygun olanını indirip Sabit kalacak bir yere çıkartmak, ve bin klasörünü Path olarak eklemek. Ben C:\ffmpeg\bin olarak çıkarttım ve ekledim.

Resimle tarif ettim ancak yapamazsanız youtube üzerinde videolu anlatımlar da var.
ffmpeg indirmek için;

https://ffmpeg.zeranoe.com/builds/
Video dosyasının özelliklerini öğrenme
Kod: [Seç]
ffmpeg -i video.avi

Fotoğrafları video dosyasına çevirme
Kod: [Seç]
ffmpeg -f image2 -i image%d.jpg video.mpgBu komut, geçerli klasördeki tüm resim dosyalarını (image1.jpg, image2.jpg... şeklinde isimlendirilmiş olan resim dosyalarını) video.mpg isimli video dosyasına dönüştürür.


Video dosyasını resim dosyalarına dönüştürme
Kod: [Seç]
ffmpeg -i video.mpg image%d.jpgBu komut video dosyasından image1.jpg, image2.jpg..... şeklinde kareler oluşturur.
Jpg dışında PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF ve SGI formatlarını da desteklemektedir.


iPhone/iPod için video dosyası dönüştürme
Kod: [Seç]
ffmpeg -i kaynak_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X hedef_video.mp4Açıklama:
Kaynak : kaynak_video.avi
Audio codec : aac
Audio bitrate : 128kb/s
Video codec : mpeg4
Video bitrate : 1200kb/s
Video boyutu : 320px par 180px
Oluşturulan video : hedef_video.mp4


PSP için video dönüştürme
Kod: [Seç]
ffmpeg -i kaynak_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac hedef_video.mp4Açıklama:
Kaynak : kaynak_video.avi
Audio codec : aac
Audio bitrate : 32kb/s
Video codec : xvid
Video bitrate : 1200kb/s
Video boyutu : 320px par 180px
Oluşturulan video : hedef_video.mp4


Video dosyasından ses ayrıştırma ve mp3 dosyası olarak kaydetme
Kod: [Seç]
ffmpeg -i kaynak_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 hedef_ses.mp3Açıklama:
Kaynak video : kaynak_video.avi
Audio bitrate : 192kb/s
Çıkış formatı : mp3
Oluşturulan ses : hedef_ses.mp3


Wav dosyasını MP3 dosyasına çevirme
Kod: [Seç]
ffmpeg -i kaynak.wav -vn -ar 44100 -ac 2 -ab 192 -f mp3 hedef.mp3

avi dosyasını mpg dosyasına çevirme
Kod: [Seç]
ffmpeg -i kaynak_video.avi hedef_video.mpg

mpg dosyasını avi dosyasına çevirme
Kod: [Seç]
ffmpeg -i kaynak_video.mpg hedef_video.avi

avi dosyasını hareketli gif dosyasına çevirme (sıkıştırılmamış)
Kod: [Seç]
ffmpeg -i kaynak_video.avi gif_animasyonu.gif

Video dosyasına ses gömme
Kod: [Seç]
ffmpeg -i kaynak_ses.wav -i kaynak_video.avi hedef_video.mpg

avi dosyasını flv dosyasına çevirme
Kod: [Seç]
ffmpeg -i kaynak_video.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv hedef_video.flv

avi dosyasını dv dosyasına çevirme
Kod: [Seç]
ffmpeg -i kaynak_video.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 hedef_video.dvveya
Kod: [Seç]
ffmpeg -i kaynak_video.avi -target pal-dv hedef_video.dv

DVD oynatıcılar için avi dosyasını mpeg dosyasına çevirme
Kod: [Seç]
ffmpeg -i kaynak_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 hedef_video.mpegAçıklama:
target pal-dvd : Çıkış formatı
ps 2000000000 : Çıkış dosyası için bit değerinde azami boyut, (burada, 2 Gb)
aspect 16:9 : Geniş Ekran


avi dosyasını dlvx formatına sıkıştırma
Kod: [Seç]
ffmpeg -i kaynak_video.avi -s 320x240 -vcodec msmpeg4v2 hedef_video.avi

Ogg Theora'yı Mpeg dvd'ye sıkıştırma
Kod: [Seç]
ffmpeg -i kaynak_film.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 hedef_film.mpg

avi dosyasını SVCD mpeg2'ye sıkıştırma
NTSC:
Kod: [Seç]
ffmpeg -i kaynak_video.avi -target ntsc-svcd hedef_video.mpgPAL:
Kod: [Seç]
ffmpeg -i kaynak_video.avi -target pal-svcd hedef_video.mpg

avi dosyasını VCD mpeg2'ye sıkıştırma
NTSC:
Kod: [Seç]
ffmpeg -i kaynak_video.avi -target ntsc-vcd hedef_video.mpgPAL:
Kod: [Seç]
ffmpeg -i kaynak_video.avi -target pal-vcd hedef_video.mpg

Multi-pass encoding
Kod: [Seç]
ffmpeg -i girdi_dosyası -pass 2 -passlogfile ffmpeg2pass çıktı_dosyası-2