Bilgisayar Kullanımınızı Otomatikleştirmek için 5 Faydalı VB Windows Komut Dosyası

Bilgisayar Kullanımınızı Otomatikleştirmek için 5 Faydalı VB Windows Komut Dosyası

İster bir BT analisti, ister normal bir bilgisayar kullanıcısı olun, PC'nizde sık sık yapmanız gerekebilecek birçok görev vardır. VB Komut Dosyaları, bilgisayar donanımınızla ilgili önemli bilgileri almaktan, hizmetleri durdurmaya ve başlatmaya veya ağ kartınızı sıfırlamaya kadar her şeyi yapabilen Windows komut dosyaları olarak hizmet veren Visual Basic programlarının ölçeğini küçültür.





Tüm bu bireysel şeyleri normal şekilde veya toplu iş dosyalarını kullanarak nasıl yapacağınızı öğrenmek mümkündür. Fakat VB komut dosyaları toplu komut dosyalarından daha iyidir çünkü daha esnekler. Aşağıdaki komut dosyalarını, ihtiyacınız olduğunda ulaşabileceğiniz ortak bir yerde saklarsanız, bu görevleri çok kısa sürede gerçekleştirebilirsiniz. Komut dosyasına çift tıklayın, bir istemi yanıtlayın ve görev tamamlandı.





Aşağıdaki VB Windows komut dosyalarına bir göz atın ve kullanmak istediğiniz herhangi birini görürseniz, komut dosyasını kopyalayıp içine yapıştırın. Not defteri veya diğer kodlama notları aracı ve bir WSF dosyası olarak kaydedin.





Windows Komut Dosyalarınızı Hazırlayın

Aşağıda ayrıntıları verilen komut dosyalarının her biri, dosyayı .WSF uzantılı olarak adlandırdığınız ve kodun başına şu şekilde eklediğiniz sürece yalnızca bir çift tıklama ile çalışacaktır:


Ve kodu şununla kapatın:



WScript.Quit

Bu, Windows'un betiğinizin yazıldığı dili tanımasını ve düzgün şekilde işlemesini sağlar.

1. Bilgisayar Bilgileri için Windows Komut Dosyalarını Kullanın

Windows, komut dosyanıza işletim sisteminin bileşenlerine erişmek için bir arabirim sağlayan WMI veya Windows Yönetim Araçları adlı bir şey sunar. Sisteminiz hakkında güncel canlı bilgileri almak için WMI'ye karşı sorgular çalıştırabilirsiniz. Microsoft, tüm öğelerin tam listesini sunar. sorgu kategorileri sisteme karşı yapabilirsiniz.





Bilgisayar bilgilerini Excel'e çekmek için VBA'nın nasıl kullanılacağını ele aldık, ancak aynı şeyi Excel'in dışında basit bir VB komut dosyası kullanarak da yapabilirsiniz.

Bu örnekte, sistemi işlemci bilgileri (aile, üretici ve çekirdek sayısı), pil bilgileri (açıklama ve durum) ve mantıksal disk bilgileri (ad, kalan boş alan ve genel boyut) için sorgulayacağız. Ardından, kolay görüntüleme için tüm bu bilgileri bir CSV dosyasına çıkaracağız.





İlk adım, CSV dosyasına çıktı almak için kullanacağınız FileSystemObject'i kurmak ve dosyayı oluşturmaktır:

Set oFSO = CreateObject('Scripting.FileSystemObject')
sFile1 = 'MyComputerInfo.csv'
Set oFile1 = oFSO.CreateTextFile(sFile1, 1)

Sonraki adım, WMI sorgusunu kurmak ve yürütmektir:

telefon numarama bağlı tüm hesapları bul
strQuery = 'SELECT Family,Manufacturer,NumberOfCores FROM Win32_Processor'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )

Son olarak, sonuçları sıralayın ve bilgileri CSV dosyasına aktarın. Süslü olmak istiyorsanız, çıktı dosyanızın daha iyi görünmesine yardımcı olmak için bunu birkaç satırla önsöz edin:

oFile1.WriteLine 'Processor Information'
oFile1.WriteLine '------'
For Each objResult In colResults
strResults = 'Family:,'+CStr(objResult.Family)
oFile1.WriteLine strResults
strResults = 'Manufacturer:,'+CStr(objResult.Manufacturer)
oFile1.WriteLine strResults
strResults = 'Number of Cores:,'+CStr(objResult.NumberOfCores)
oFile1.WriteLine strResults
Next

Kodunuzu şimdi çalıştırırsanız, çıktınız şöyle görünecektir:

Kodunuzun sonraki iki bölümü için, ek bilgileri aramak için sorguyu tekrarlayacak ve değiştireceksiniz. İşte pil bilgisi sorgusu:

oFile1.WriteLine ''
strQuery = 'SELECT Description,Status FROM Win32_Battery'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )
oFile1.WriteLine 'Battery Information'
oFile1.WriteLine '------'
For Each objResult In colResults
strResults = 'Status:,'+CStr(objResult.Description)
oFile1.WriteLine strResults
strResults = 'Description:,'+CStr(objResult.Status)
oFile1.WriteLine strResults
Next

Ve işte mantıksal disk sorgusu için bir sonraki bölüm:

oFile1.WriteLine ''
strQuery = 'Select Name, FreeSpace, Size from Win32_LogicalDisk'
Set colResults = GetObject('winmgmts://./root/cimv2').ExecQuery( strQuery )
oFile1.WriteLine 'Disk Information'
oFile1.WriteLine '------'
'Identify the Logical Disk Space
For Each objResult In colResults
strResults = 'Name:,'+CStr(objResult.Name)
oFile1.WriteLine strResults
strResults = 'Free Space:,'+CStr(objResult.FreeSpace)
oFile1.WriteLine strResults
strResults = 'Disk Size:,'+CStr(objResult.Size)
oFile1.WriteLine strResults
Next

Son olarak, dosyayı kapatarak ve nesneleri 'Hiçbir Şey' olarak ayarlayarak kodu kapatmayı unutmayın:

oFile1.Close
Set oFile1 = Nothing
set colResults = Nothing
strResults = ''

Tüm bu kodu yeni .WSF dosyanıza koyun, çalıştırın ve çıktınız şöyle görünecektir:

Bilgi almak istediğiniz diğer bilgisayar cihazları veya yazılımları için yukarıdaki sorguları değiştirin ve istediğiniz zaman bir fare tıklamasıyla tam sistem raporu alabilirsiniz.

2. Hizmetleri Durdurun ve Başlatın

Belirli hizmetlerin sorun yaşadığı ve yeniden düzgün bir şekilde çalışmaya başlaması için yalnızca hızlı bir yeniden başlatmanın gerekli olduğu zamanlar olacaktır. Bu özellikle BT'de doğru bazen biraz sorunlu olan sunucu yazılımını çalıştırmaya zorlandığınızda.

Hizmeti yeniden başlatma işleminden bir dakika kadar kısa bir süre sonra tıraş olmak istiyorsanız, aşağıdaki komut dosyasını uygun bir yerde saklayın. Yeniden başlatmak istediğiniz hizmetin adını yazmanızı isteyecek ve ardından tam olarak bunu yapacaktır.

Hizmetleri durdurmak ve başlatmak yönetici ayrıcalıkları gerektirdiğinden, komut dosyanızı vermek için aşağıdaki kodu komut dosyanızın başına yerleştirmeniz gerekir. Yükseltilmiş ayrıcalıklar :

If Not WScript.Arguments.Named.Exists('elevate') Then
CreateObject('Shell.Application').ShellExecute WScript.FullName _
, '''' & WScript.ScriptFullName & ''' /elevate', '', 'runas', 1
WScript.Quit
End If

Bu yapıldıktan sonra, kullanıcı girişi için giriş kutusunu çalıştırmak için kodun geri kalanını ekleyin, komut penceresini başlatın ve ona 'net stop' ve 'net start komutlarını' gönderin:

Set cmdShell = CreateObject('WScript.Shell')
strServiceName=Inputbox('Inter Service to Stop','Input Required')
cmdShell.Run 'cmd.exe'
WScript.Sleep 1000
cmdShell.SendKeys 'net stop '+strServiceName
cmdShell.SendKeys '{Enter}'
WScript.Sleep 1000
cmdShell.SendKeys 'net start '+strServiceName
cmdShell.SendKeys '{Enter}'
WScript.Sleep 1000
cmdShell.SendKeys 'Exit'
cmdShell.SendKeys '{Enter}'

Hepsi bu kadar. Hizmetler aracını aramanıza gerek yok. Sadece bu betiği çalıştırın ve saniyeler içinde herhangi bir hizmeti durdurun ve başlatın.

3. Kayıt Defteri Ayarlarını, Varsayılan Yönetici Parolasını Değiştirin

Aşağıdaki script ile bir taşla iki kuş vuracağız. Bu komut dosyası size nasıl yapılacağını gösterecek kayıt defterini düzenle bir VB komut dosyası ile. Ayrıca, bu kayıt defteri ayarlarını düzenleyerek varsayılan Windows kullanıcı adını ve parolasını belirlemenize izin verecek bir komut dosyası da verecektir.

İşte nasıl çalıştığı. İlk olarak, kayıt defterini düzenlemek yönetici hakları gerektirdiğinden, komut dosyanız için yükseltilmiş ayrıcalıklar ayarlamanız gerekir:

If Not WScript.Arguments.Named.Exists('elevate') Then
CreateObject('Shell.Application').ShellExecute WScript.FullName _
, '''' & WScript.ScriptFullName & ''' /elevate', '', 'runas', 1
WScript.Quit
End If

Önce kullanıcıya hangi kullanıcı adını ve parolayı kullanacağını sormak için iki giriş kutusu çalıştırın:

strUserName=Inputbox('Enter the default User Name','Input Required')
strPassword=Inputbox('Enter the default Password','Input Required')

Ardından, kabuk nesnesini ayarlayın ve bu değerleri uygun kayıt defteri anahtarlarına yazın:

Set wshShell = CreateObject( 'WScript.Shell' )
wshShell.RegWrite 'HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonDefaultUserName', strUserName, 'REG_SZ'
wshShell.RegWrite 'HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonDefaultPassword', strPassword, 'REG_SZ'
Set wshShell = Nothing

Ve hepsi bu kadar. 'RegWrite' yöntemi, bir VB Windows komut dosyası kullanarak herhangi bir kayıt defteri anahtarına herhangi bir değer yazmanıza olanak tanır. Tüm bilmeniz gereken uygun yoldur.

Komut dosyasını çalıştırın ve istemleri yanıtlayın.

Girdiğiniz değerler, komut dosyasında ayarladığınız kayıt defteri ayarlarına eklenecektir.

Komut dosyasıyla oynayın ve beğeninize göre değiştirin. İstediğiniz kayıt defteri anahtarlarını düzenleyebilirsiniz, bu yüzden yaratıcı olun!

4. Ağ Bağlantınızı Sıfırlayın

VB komut dosyası kullanarak ağ bağlantınızı sıfırlamak, daha önce burada MakeUseOf'ta ele aldığımız bir şeydir. Bunun aşağıdaki sürümü aslında küçültülmüş ve uygulanması çok daha basit. Bireysel ağ kartları istemek yerine, sahip olabileceğiniz herhangi bir ağ sorununu çözecek olan tüm aktif bağlantılarınızı sıfırlar.

Yönetici haklarına ihtiyaç duyan diğer komut dosyalarında olduğu gibi, yükseltilmiş ayrıcalıklar için bölümü başlangıçta eklemeniz gerekir. Bu kodu yukarıdaki komut dosyasından kopyalayın.

Ardından, WMI nesnesini oluşturun ve sisteminizde etkinleştirilmiş ağ bağdaştırıcılarının bir listesi için onu sorgulayın:

strComputer = '.'
Set objWMIService = GetObject('winmgmts:\' & strComputer & 'ootCIMV2')
Set colItems = objWMIService.ExecQuery( _
'SELECT * FROM Win32_NetworkAdapter Where NetEnabled = 'True'')

Son olarak, etkinleştirilmiş tüm bağdaştırıcılar arasında dolaşın ve bunları sıfırlayın:

For Each objItem in colItems
objItem.Disable
WScript.Sleep 1000
objItem.Enable
Next

Bu, tüm bilgilerinizi sıfırlar etkin ağ bağdaştırıcıları , bu genellikle can sıkıcı ağ sorunlarını çözmenin en hızlı yoludur. Bu betiği elinizin altında bulundurun ve yavaş bir ağınız veya diğer garip ağ sorunlarınız olduğunda ilk önce deneyin.

5. Ping Cihazları veya Web Siteleri

En sevdiğim VB windows betiğini sona sakladım. Bu, aslında ev bilgisayarımda zamanlanmış bir görev olarak ayarladığım ve web sitemin etkin olup olmadığını kontrol etmek için günde birkaç kez çalıştırdığım bir görev. Site kapalıysa komut dosyasını bana e-postayla gönderiyorum. Ağınızdaki önemli sunucuları veya bilgisayarları izlemek için aynı komut dosyasını kullanabilir ve komut dosyanız cihaza ping atamadığında kendinize e-posta gönderebilirsiniz.

İlk olarak, ping yapmak istediğiniz hedef için komut dosyasını ayarlayın, kabuk nesnesini oluşturun ve ardından ping komutunu çalıştırın.

strTarget = 'topsecretwriters.com'
Set WshShell = WScript.CreateObject('WScript.Shell')
Ping = WshShell.Run('ping -n 1 ' & strTarget, 0, True)

Ping sonuçlarını gözden geçirmek ve buna göre yanıt vermek için bir Select Case deyimi kullanın. Sonuçlar sıfır olarak geri gelirse, sitenin (veya sunucunun) çevrimiçi olduğunu ve hiçbir şey yapmanıza gerek olmadığını bilirsiniz. Bir '1' döndürürse, ping başarısız oldu ve bir şeyler yapmanız gerekiyor. Benim durumumda, Windows CDO nesnesini kullanarak bir e-posta gönderiyorum:

Select Case Ping
Case 0
Case 1
Set objMessage = CreateObject('CDO.Message')
Set objConfig = CreateObject('CDO.Configuration')
objConfig.Load -1
Set Flds = objConfig.Fields
With Flds
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate')=1
.Item ('http://schemas.microsoft.com/cdo/configuration/sendusername')='xxxxxx@gmail.com'
.Item ('http://schemas.microsoft.com/cdo/configuration/sendpassword')='xxxxxxxxxxxxxxxxx'
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpserver')='smtp.gmail.com'
.Item ('http://schemas.microsoft.com/cdo/configuration/sendusing')=2
.Item ('http://schemas.microsoft.com/cdo/configuration/smtpserverport')=465
.Update
End With
With objMessage
Set .Configuration = objConfig
.Subject = 'Your site is offline'
.From = 'me@mycomputer.com'
.To = 'xxxxxx@gmail.com'
.TextBody = 'Hey, your website is offline.'
.Send
End With
End Select

Komut dosyası çalıştığında ve cihaza veya web sitesine ping atamadığında, bir anlık mesaj alırsınız.

Hızlı ve kolay ve her biri verimli!

Bilgisayarınızı Kontrol Etmek İçin VB Windows Komut Dosyalarını Kullanma

Bunlar, bilgisayar kullanımınızı kolaylaştırmak için VB komut dosyasıyla yapabileceğiniz harika şeylerden sadece birkaçı. VB ve Synctoy ile otomatik yedeklemeler, telnet komutlarını otomatikleştirme ve hatta uygulama pencerelerini açıp kontrol etme gibi yapabileceğiniz birçok başka şey var.

Bilgisayarınızda bir Windows komut dosyasıyla otomatikleştirdiğiniz şeylerden bazıları nelerdir? Kendinizinkini VB kullanarak mı yazıyorsunuz yoksa başka bir araç mı kullanıyorsunuz? PowerShell gibi ?

Paylaş Paylaş Cıvıldamak E-posta İşte FBI'ın Hive Ransomware için Uyarı Verme Nedeni

FBI, özellikle kötü bir fidye yazılımı türü hakkında bir uyarı yayınladı. İşte bu yüzden özellikle Hive fidye yazılımına karşı dikkatli olmanız gerekiyor.

Sonrakini Oku
İlgili konular
  • Programlama
  • Bilgisayar Otomasyonu
  • komut dosyası
Yazar hakkında Ryan Dube(942 Makale Yayınlandı)

Ryan, Elektrik Mühendisliği alanında lisans derecesine sahiptir. 13 yıl otomasyon mühendisliğinde, 5 yıl BT'de çalıştı ve şimdi bir Uygulama Mühendisi. MakeUseOf'un eski Genel Yayın Yönetmeni, Veri Görselleştirme üzerine ulusal konferanslarda konuştu ve ulusal TV ve radyoda yer aldı.

Ryan Dube'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın