Donanım Bilgisi (vbscript)

Sadece freeware (Ücretsiz) program paylaşımlarının yeraldığı alan
mephistooo2
Bit
Bit
Mesajlar: 11
Kayıt: 05 Ara 2006, 21:56
Teşekkür etti: 5 kez
Teşekkür edildi: 22 kez

Donanım Bilgisi (vbscript)

Mesaj gönderen mephistooo2 »

Resim

VBScript betik dosyası, 3. parti programlara gerek kalmadan Windows işletim sisteminin yerleşik kodlarıyla tüm donanım bilgilerinizin özetini gösterir. Kod, çeşitli sistem bileşenlerine dair bilgileri toplar ve kullanıcıya görsel olarak sunar.

https://github.com/abdullah-erturk/Hard ... /tree/main

TR:
https://github.com/abdullah-erturk/Hard ... gileri.zip

ENG:
https://github.com/abdullah-erturk/Hard ... e_Info.zip


vbscript dosyasının bazı kısımlarında @velociraptor üstadın sordum sitesi üzerinden zamanında yayınladığı kodlardan faydalanılmıştır.

Kendisine çok teşekkür ederim. :kafasalla:
En son mephistooo2 tarafından 26 Kas 2024, 10:56 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
perahi
Byte1
Byte1
Mesajlar: 38
Kayıt: 09 Ağu 2022, 18:51
Teşekkür etti: 38 kez
Teşekkür edildi: 23 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen perahi »

Hocam selamlar, bu vbscript dosyasına şu bat kodundaki içerikleride eklememiz mümkün müdür? >> https://notes.io/w7JdP << ve bu vbscript dosyası özellikleri söyledikten sonra kendisini txt olarak kaydedebilir mi? çok teşekkürler, iyi günler dilerim.
Kullanıcı avatarı
burak35
Exabyte1
Exabyte1
Mesajlar: 11638
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 6338 kez
Teşekkür edildi: 6777 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Güzelmiş. Teşekkürler. :kafasalla:
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12253
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1256 kez
Teşekkür edildi: 2962 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

Helal olsun ben bu kadar yapamam herhalde...Hemen kullanacağım teşekkürler
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12253
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1256 kez
Teşekkür edildi: 2962 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

Eline sağlık , imdi benden de senin kodlamana bir katkı...

Ağ Bölümündeki kodlamayı değiştirdim.

Kod: Tümünü seç

' Network card information
Dim myIPAddresses : myIPAddresses = ""
Dim counter : counter = 1
Dim colAdapters : Set colAdapters = objWMIService.ExecQuery("Select IPAddress, Description, MACAddress, DHCPServer from Win32_NetworkAdapterConfiguration Where IPEnabled = True")

For Each objAdapter in colAdapters
    description = objAdapter.Description
    macAddr = objAdapter.MACAddress

    If Not IsNull(objAdapter.IPAddress) And UBound(objAdapter.IPAddress) >= 0 Then
        ipAddr = objAdapter.IPAddress(0)
    Else
        ipAddr = "Not found"
    End If

    If Not IsNull(objAdapter.DHCPServer) Then
        dhcpServer = objAdapter.DHCPServer
    Else
        dhcpServer = "Not found"
    End If

    ' Only include active connections
    If ipAddr <> "Not found" Then
        myIPAddresses = myIPAddresses & "Network Adapter " & counter & "" & vbCrLf & _
                        "Description	: " & description & vbCrLf & _
                        "MAC Address	: " & macAddr & vbCrLf & _
                        "IP Address	: " & ipAddr & vbCrLf & _
                        "DHCP Server	: " & dhcpServer & vbCrLf & vbCrLf

        counter = counter + 1
    End If
Next
Artık sadece "AKTİF BAĞLANTILAR" görünecek "PASİF BAĞLANTILAR" , gizlenecek... Bir dener misin oldu mu? diye (orjinal betiğin kopyasında dene)
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12253
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1256 kez
Teşekkür edildi: 2962 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

İkinci kod iyileştirmesi :

Kod: Tümünü seç

' Tarih formatını ayarlama
Dim currentDate
currentDate = Now
Dim formattedDate
formattedDate = Year(currentDate) & "_" & Right("0" & Month(currentDate), 2) & "_" & Right("0" & Day(currentDate), 2)

' Dosya yolunu belirleme (Masaüstü)
Dim desktopPath
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Sistem Bilgileri_" & formattedDate & ".txt"

' Dosyayı oluşturma ve yazma
Dim fso, outputFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outputFile = fso.CreateTextFile(desktopPath, True)

' Bilgileri dosyaya yazma
outputFile.WriteLine tMessage
outputFile.Close

' Kullanıcıya bilgi verme
WshShell.Popup "Sistem bilgileri " & desktopPath & " konumuna kaydedildi.", 0, "Bilgi", 64
Bunu kodlamanın sonuna yerleştir ve kaydet.Sistem bilgileri kullanıcının masaüstüne kayıt edilir.
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12253
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1256 kez
Teşekkür edildi: 2962 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

Üçüncü kod iyileştirme :

Ağ Ve İnternet Bileşenleri YOK, sadece sistem bilgileri :

Kod: Tümünü seç


Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") ' More user-friendly WMI connection
Set objNetwork = CreateObject("Wscript.Network")
Set wshShell = CreateObject("WScript.Shell")
strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Set oShell = WScript.CreateObject("WScript.Shell")
proc_arch = oShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%")
Set oEnv = oShell.Environment("SYSTEM")

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colMB = objWMIService.ExecQuery("Select * from Win32_BaseBoard")
Set colProcessors = objWMIService.ExecQuery("Select * from Win32_Processor")
Set colDrives = objWMIService.ExecQuery("Select * from Win32_DiskDrive")

' Total RAM calculation
Set obj = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory")
TotalRam = 0
ramDetails = ""
i = 1

For Each obj2 In obj
    memTmp1 = obj2.capacity / 1024 / 1024
    TotalRam = TotalRam + memTmp1
    ramSpeed = obj2.Speed
    ramType = ""

    If ramSpeed >= 1600 And ramSpeed < 2133 Then
        ramType = "DDR3"
    ElseIf ramSpeed >= 2133 And ramSpeed < 2933 Then
        ramType = "DDR4"
    ElseIf ramSpeed >= 2933 Then
        ramType = "DDR5"
    Else
        ramType = "Unknown"
    End If

    ramDetails = ramDetails & "Slot " & i & ": " & Int(memTmp1 / 1024) & " GB, Hız: " & obj2.Speed & " MHz, Tür: " & ramType & vbCrLf
    i = i + 1
Next

' Processor architecture
Set colItems = objWMIService.ExecQuery("Select Architecture from Win32_Processor")
For Each objItem in colItems
    If objItem.Architecture = 0 Then
       strArchitecture = "x86"
    ElseIf objItem.Architecture = 9 Then
       strArchitecture = "x64"
    End If
Next

' Graphics Card information
On Error Resume Next
Set colItemsx = objWMIService.ExecQuery("SELECT * FROM Win32_VideoController")
Dim tStr
tStr = ""

' Get display card information
For Each objItem in colItemsx
    tStr = tStr & "Model    : " & objItem.Description & vbCrLf
    
    ' Get memory size
    Dim memSize
    memSize = objItem.AdapterRAM / 1024 / 1024 ' in MB

    ' Check the memory size
    If InStr(LCase(objItem.Description), "intel") > 0 Then
        ' If internal graphics, we can dynamically take the memory from system RAM
        If memSize < 128 Then
            memSize = 128 ' Default memory for integrated graphics is 128 MB
        End If
    Else
        ' For external graphics, check the AdapterRAM value
        If memSize < 1024 Then
            ' If memory is less than 1 GB, probably an incorrect value is returned
            memSize = 4096 ' Default memory for external graphics is 4096 MB (4 GB)
        End If
    End If
Next
On Error GoTo 0

' Operating system information
Set dtmInstallDate = CreateObject("WbemScripting.SWbemDateTime")
Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
    fthx = getmydat(objOperatingSystem.InstallDate)
    Exit For
Next

Function getmydat(wmitime)
    dtmInstallDate.Value = wmitime
    getmydat = dtmInstallDate.GetVarDate
End Function

' Get disk information and check types
Dim diskInfo
diskInfo = "Disk Summary: " & vbCrLf

' If colDrives is not empty, proceed with processing
If colDrives.Count > 0 Then
    For Each objDrive In colDrives
        If Not objDrive Is Nothing Then
            ' Check if the disk is ready
            On Error Resume Next ' Temporarily ignore errors
            Dim driveType, diskSize
            ' Try to get disk size
            diskSize = objDrive.Size
            If Err.Number = 0 Then
                ' If size data is available
                If objDrive.IsReady Then
                    driveType = GetDriveMediaType(objDrive)
                    diskInfo = diskInfo & objDrive.DeviceID & " - " & driveType & " - Capacity: " & _
                               FormatNumber(diskSize / 1024 / 1024 / 1024, 2) & " GB" & vbCrLf
                Else
                    diskInfo = diskInfo & objDrive.DeviceID & " - " & "Disk is not ready" & vbCrLf
                End If
            Else
                diskInfo = diskInfo & objDrive.DeviceID & " - " & "Disk size cannot be retrieved" & vbCrLf
            End If
            On Error GoTo 0 ' Reset error handling
        End If
    Next
Else
    diskInfo = diskInfo & "Disk information not found." & vbCrLf
End If

' Function to determine the disk type (HDD/SSD/NVMe/USB)
Function GetDriveMediaType(DiskDrive)
    On Error Resume Next
    Dim mediaType
    If Not DiskDrive Is Nothing Then
        ' Identify NVMe disks by model name
        If InStr(1, LCase(DiskDrive.Model), "nvme") > 0 Or InStr(1, LCase(DiskDrive.Model), "nvm") > 0 Then
            mediaType = "NVMe"
        ' Identify SSD disks by "ssd" or "sd" in the model name
        ElseIf InStr(1, LCase(DiskDrive.Model), "ssd") > 0 Or InStr(1, LCase(DiskDrive.Model), "sd") > 0 Then
            mediaType = "SSD"
        ' Identify USB disks by "usb" in the interface type
        ElseIf InStr(1, LCase(DiskDrive.InterfaceType), "usb") > 0 Then
            mediaType = "USB"
        ' Default to HDD for other disks
        Else
            mediaType = "HDD"
        End If
    Else
        mediaType = "Unknown"
    End If
    On Error GoTo 0
    GetDriveMediaType = mediaType
End Function

' Get the system collection
Set SystemSet = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

' Gather information (only one loop for system, processor, and motherboard)
For Each System in SystemSet
    For Each objProcessor in colProcessors
        For Each bbType In colMB
            MbVendor = bbType.Manufacturer
            MbModel = bbType.Product
            tMessage = "Operating System		: " & System.Caption & vbNewLine & _
                       "OS Version		: " & System.Version & vbNewLine & _
                       "Windows Architecture	: " & strArchitecture & vbNewLine & _
                       "Username		: " & objNetwork.UserName & vbNewLine & _
                       "Computer Name		: " & strComputerName & vbNewLine & _
                       "Last Format Date		: " & fthx & vbNewLine & _
                       "--------------------------------------------------------------------------------------" & vbNewLine & _
                       "Motherboard Manufacturer	: " & MbVendor & vbNewLine & _
                       "Motherboard Model	: " & MbModel & vbNewLine & _
                       "Processor		: " & objProcessor.Manufacturer & vbNewLine & _
                       "Processor Model		: " & objProcessor.Name & vbNewLine & _
                       "CPU Architecture		: " & strArchitecture & vbNewLine & _
                       "Total RAM		: " & Int(TotalRam / 1024) & " GB" & vbNewLine & _
                       "RAM Slots		: " & vbNewLine & ramDetails & vbNewLine & _
                       "Graphics Card(s)		: " & vbNewLine & tStr & _
                       "--------------------------------------------------------------------------------------" & vbNewLine & _
                       diskInfo
            Exit For ' Only run this loop once for each section
        Next
        Exit For
    Next
    Exit For
Next

' Display using WshShell.Popup
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup tMessage, 0, "Hardware Information | by Abdullah ERTÜRK", 4096
' Tarih formatını ayarlama
Dim currentDate
currentDate = Now
Dim formattedDate
formattedDate = Year(currentDate) & "_" & Right("0" & Month(currentDate), 2) & "_" & Right("0" & Day(currentDate), 2)

' Dosya yolunu belirleme (Masaüstü)
Dim desktopPath
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Sistem Bilgileri_" & formattedDate & ".txt"

' Dosyayı oluşturma ve yazma
Dim fso, outputFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outputFile = fso.CreateTextFile(desktopPath, True)

' Bilgileri dosyaya yazma
outputFile.WriteLine tMessage
outputFile.Close

' Kullanıcıya bilgi verme
WshShell.Popup "Sistem bilgileri " & desktopPath & " konumuna kaydedildi.", 0, "Bilgi", 64

Kullanıcı avatarı
burak35
Exabyte1
Exabyte1
Mesajlar: 11638
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 6338 kez
Teşekkür edildi: 6777 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Eline sağlık murat. Boş durmamışsın. Hizmete devam. :)
mephistooo2
Bit
Bit
Mesajlar: 11
Kayıt: 05 Ara 2006, 21:56
Teşekkür etti: 5 kez
Teşekkür edildi: 22 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen mephistooo2 »

Konu metninde yazmayı unutmuşum :( yazmazsam ayıp olur :-)

vbscript dosyasının bazı kısımlarında @velociraptor üstadın sordum sitesi üzerinden zamanında paylaştığı kodlardan faydalanılmıştır.

Kendisine çok teşekkür ederim. :kafasalla:
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 50041
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 9191 kez
Teşekkür edildi: 7443 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen velociraptor »

Gördüm ve farkettim ;)
Pek vaktim olmadığı için kodlara birkaç yılda bir anca gözatabiliyorum.
Kullanıcı avatarı
burak35
Exabyte1
Exabyte1
Mesajlar: 11638
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 6338 kez
Teşekkür edildi: 6777 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Güzel çalışma :arrow:
Kayserilifatih
Megabyte4
Megabyte4
Mesajlar: 1568
Kayıt: 30 Ağu 2024, 20:48
Teşekkür etti: 403 kez
Teşekkür edildi: 1366 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen Kayserilifatih »

Çalışmayı test amaçlı editleyerek ilk paylaşılmış haliyle test ettim fakat aşağıdaki kapat sekmesi beiirgin değildi onu da araştıracağım. Sonuna olacak mı diye adımı ekledim kusura bakmayın, ben de ileride böyle script yaparsam diye test ediyorum fazla takılmayın :-D
En son Kayserilifatih tarafından 27 Kas 2024, 12:11 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12253
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1256 kez
Teşekkür edildi: 2962 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

Normal'de "Tamam" butonu (Kapat) otomatik eklenir.Ama burada görünmüyor.Demek ki bir satır daha aşağıda "Tamam" butonu.Ayrıca .VBS yerleşik düşey kaydırma çubuğu nesnesi bulunmaz.Bu durum .VBS betik dilinin sınırlarını gösteren güncel bir örnektir.

Bu kodları alıp Visual Basıc v6.0 tekrar kodlayacaksın.O zaman tam bir yazılım olur.
En son TRWE_2012 tarafından 27 Kas 2024, 14:48 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kayserilifatih
Megabyte4
Megabyte4
Mesajlar: 1568
Kayıt: 30 Ağu 2024, 20:48
Teşekkür etti: 403 kez
Teşekkür edildi: 1366 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen Kayserilifatih »

Aşağıda çok küçük bir miktar görünüyor fakat yukarıdaki çubuğu çekmem gerekiyor yoksa görünmüyor
Kullanıcı avatarı
burak35
Exabyte1
Exabyte1
Mesajlar: 11638
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 6338 kez
Teşekkür edildi: 6777 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

İşlem sayısı 69 :lol:
Cevapla