Donanım Bilgisi (vbscript)

Sadece freeware (Ücretsiz) program paylaşımlarının yeraldığı alan
Kayserilifatih
Gigabyte2
Gigabyte2
Mesajlar: 2527
Kayıt: 30 Ağu 2024, 20:48
Teşekkür etti: 456 kez
Teşekkür edildi: 2048 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen Kayserilifatih »

Saygı duyarım fakat sadece arkadaşa katkı olsun diye yaptım bu sadece taslak yoksa kimsenin bir şeyinde gözüm yok merak etme. Önceki mesajlarından birinde balık tutmayı öğreteceğim sana balık vermeyeceğim demiştin ziyanı yok ben kendi işimi kendim görürüm senden balık almaya ihtiyacım yoktu. Ayrıca yapay zekaya karşı olsam da kullanan kullanır yapacak bir şey yok :-D
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

Kayserilifatih yazdı: 29 Kas 2024, 16:13 Saygı duyarım fakat sadece arkadaşa katkı olsun diye yaptım bu sadece taslak yoksa kimsenin bir şeyinde gözüm yok merak etme. Önceki mesajlarından birinde balık tutmayı öğreteceğim sana balık vermeyeceğim demiştin ziyanı yok ben kendi işimi kendim görürüm senden balık almaya ihtiyacım yoktu. Ayrıca yapay zekaya karşı olsam da kullanan kullanır yapacak bir şey yok :-D
Espiri :

hemen alınıyorsun... artık sana , cevap yazmaya çekinir olduk... :-)

Ayrıca işini kendin halledebilmen de harika...!!! (demek ki sende gizli bir şeyler var) :-D
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

Sistem Bilgileri_2024_11_29 Çıktısı:

Operating System : Microsoft Windows 11 Home
OS Version : 10.0.22621
Windows Architecture : x64
Username : Administrator
Computer Name : TRWE_2012
Last Format Date : 1 Aralık 2023 Cuma 14:56:41
--------------------------------------------------------------------------------------
Motherboard Manufacturer : LENOVO
Motherboard Model : LNVNB161216
Processor : GenuineIntel
Processor Model : 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz
CPU Architecture : x64
Total RAM : 16 GB
RAM Slots :
Slot 1: 16 GB, Hız: 3200 MHz, Tür: DDR5

Graphics Card(s) :
Model : NVIDIA GeForce RTX 3050 Ti Laptop GPU
Model : Intel(R) Iris(R) Xe Graphics
--------------------------------------------------------------------------------------
Disk Summary:
\\.\PHYSICALDRIVE1 - HDD - Capacity: 931,51 GB
\\.\PHYSICALDRIVE0 - NVMe - Capacity: 238,47 GB
Kayserilifatih
Gigabyte2
Gigabyte2
Mesajlar: 2527
Kayıt: 30 Ağu 2024, 20:48
Teşekkür etti: 456 kez
Teşekkür edildi: 2048 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen Kayserilifatih »

TRWE_2012 yazdı: 29 Kas 2024, 16:19
Kayserilifatih yazdı: 29 Kas 2024, 16:13 Saygı duyarım fakat sadece arkadaşa katkı olsun diye yaptım bu sadece taslak yoksa kimsenin bir şeyinde gözüm yok merak etme. Önceki mesajlarından birinde balık tutmayı öğreteceğim sana balık vermeyeceğim demiştin ziyanı yok ben kendi işimi kendim görürüm senden balık almaya ihtiyacım yoktu. Ayrıca yapay zekaya karşı olsam da kullanan kullanır yapacak bir şey yok :-D
Espiri :

hemen alınıyorsun... artık sana , cevap yazmaya çekinir olduk... :-)

Ayrıca işini kendin halledebilmen de harika...!!! (demek ki sende gizli bir şeyler var) :-D
Alınmadım sadece şaka olarak espri amaçlı sana mesaj vermek istedim, şakalarımda bazen gizli bir ciddiyet de bulunuyor genelde, bu sana has bir şey değil, benim ifadelerim duygusal olarak etkili geliyor demek ki insanlara bazen alındığımı zannediyorlar fakat herşeye alınan biri değilim merak etme. :-D
Kullanıcı avatarı
burak35
Exabyte3
Exabyte3
Mesajlar: 13427
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 7596 kez
Teşekkür edildi: 8394 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Kodlayan arkadaşımızın ismi olsa daha iyi olur bencede. Sonuçta onun çalışması çünkü. :arrow:
Kullanıcı avatarı
burak35
Exabyte3
Exabyte3
Mesajlar: 13427
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 7596 kez
Teşekkür edildi: 8394 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Herkese iyi hafta sonları. Ufak bir yardıma ihtiyacım var. Bu scripti kullanamk istiyorum. Ancak kendime göre düzenlemem lazım.
Aşağıda ekran görüntüsünde kırmızı çizgilerle işaretlediğim ağ kartı 3 ve ağ kartı 4 yazan yerleri scriptten nasıl kaldırabilirim?
Yardım eden olursa sevinirim. Şimdiden herkese teşekkürler. İyi günler.
Resim
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

burak35 yazdı: 15 Şub 2025, 14:30 Herkese iyi hafta sonları. Ufak bir yardıma ihtiyacım var. Bu scripti kullanamk istiyorum. Ancak kendime göre düzenlemem lazım.
Aşağıda ekran görüntüsünde kırmızı çizgilerle işaretlediğim ağ kartı 3 ve ağ kartı 4 yazan yerleri scriptten nasıl kaldırabilirim?
Yardım eden olursa sevinirim. Şimdiden herkese teşekkürler. İyi günler.
Resim

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ı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

GNU/Linux Mint 21.1 OS - Bash Shell Versiyonu (bugün öğleden beri uğraşmaktayım)

Kod İçeriği :

Kod: Tümünü seç

#!/bin/bash

# Bilgisayar adı ve kullanıcı adı
HOSTNAME=$(hostname)
USERNAME=$(whoami)

# İşletim Sistemi Bilgisi
OS_NAME=$(lsb_release -ds)
KERNEL_VERSION=$(uname -r)
ARCHITECTURE=$(uname -m)

# Anakart Bilgisi (dmidecode sudo gerektirir)
MB_VENDOR=$(sudo dmidecode -s baseboard-manufacturer 2>/dev/null)
MB_MODEL=$(sudo dmidecode -s baseboard-product-name 2>/dev/null)

# İşlemci Bilgisi (/proc/cpuinfo üzerinden)
CPU_MODEL=$(awk -F': ' '/model name/ {print $2; exit}' /proc/cpuinfo)
CPU_ARCH=$(uname -m)

# RAM Bilgisi:
# Önce, dmidecode -t memory ile dolu modüllerin kapasitesini ve dolu slot sayısını bulalım.
ram_data=$(sudo dmidecode -t memory 2>/dev/null | awk '
BEGIN { FS=":"; RS="" }
{
    if (match($0, /Locator:[ \t]*([^ \t\n]+)/, arr)) {
        loc = arr[1]
        locators[loc] = 1
        if ($0 !~ /No Module Installed/) {
            if (match($0, /Size:[ \t]*([0-9.]+)[ \t]*(GB|MB)/, arr2)) {
                if (arr2[2]=="MB") {
                    sum += arr2[1]/1024
                } else if (arr2[2]=="GB") {
                    sum += arr2[1]
                }
                pop[loc] = 1
            }
        }
    }
}
END {
    total = 0; for (i in locators) total++
    populated = 0; for (i in pop) populated++
    empty = total - populated
    printf "%.2f %d %d %d", sum, total, populated, empty
}
')

total_memory=$(echo "$ram_data" | awk '{print $1}')
populated_slots=$(echo "$ram_data" | awk '{print $3}')

# Toplam slot sayısını öncelikle Physical Memory Array bilgisinden almaya çalışalım.
array_total=$(sudo dmidecode -t 16 2>/dev/null | grep -i 'Number Of Devices' | head -n1 | awk -F: '{print $2}' | tr -d ' ')
if [[ -z "$array_total" || "$array_total" -eq 0 ]]; then
    # Eğer alınamadıysa, varsayılan olarak 4 slot kabul edelim.
    total_slots=4
else
    total_slots=$array_total
fi

# Boş slot sayısı:
empty_slots=$(( total_slots - populated_slots ))

# GPU Bilgileri toplama
GPU_SUMMARY=""

# NVIDIA GPU'lar (nvidia-smi mevcutsa)
if command -v nvidia-smi >/dev/null 2>&1; then
    while IFS=',' read -r name mem; do
         name=$(echo "$name" | xargs)
         mem=$(echo "$mem" | xargs)
         # Bellek MB cinsinden, GiB’ye çeviriyoruz (1 GiB ≈ 1024 MB)
         mem_gb=$(echo "scale=1; $mem/1024" | bc)
         GPU_SUMMARY+="$name (${mem_gb}GB)\n"
    done < <(nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits)
fi

# Diğer GPU'lar için lspci (örn. entegre GPU'lar)
while IFS= read -r line; do
  if echo "$line" | grep -qi 'nvidia'; then
    continue
  fi
  # Örnek satır: 
  # "0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)"
  gpu_name=$(echo "$line" | cut -d':' -f3- | sed 's/^ *//')
  # Parantez içeriğini ve köşeli parantezleri temizleyelim
  gpu_name=$(echo "$gpu_name" | sed -E 's/\(.*\)//g' | sed -E 's/\[.*\]//g' | xargs)
  if [ -n "$gpu_name" ]; then
    GPU_SUMMARY+="$gpu_name\n"
  fi
done < <(lspci | grep -Ei "VGA|3D")

[ -z "$GPU_SUMMARY" ] && GPU_SUMMARY="Bulunamadı"

# Depolama Aygıtları
DISK_INFO=$(lsblk -o NAME,SIZE,TYPE,MOUNTPOINT | grep 'disk')

# Ağ Kartı ve IP Bilgileri
IP_ADDR=$(hostname -I | awk '{print $1}')
DNS_SERVERS=$(grep 'nameserver' /etc/resolv.conf | awk '{print $2}' | paste -sd ",")
WAN_IP=$(curl -s http://api.ipify.org)

# Sonuçları ekrana yazdırma
echo "===================================="
echo "   SİSTEM BİLGİLERİ"
echo "===================================="
echo "Bilgisayar Adı   : $HOSTNAME"
echo "Kullanıcı Adı    : $USERNAME"
echo "İşletim Sistemi  : $OS_NAME"
echo "Kernel Sürümü    : $KERNEL_VERSION"
echo "Mimari           : $ARCHITECTURE"
echo "------------------------------------"
echo "Anakart Üreticisi: $MB_VENDOR"
echo "Anakart Modeli   : $MB_MODEL"
echo "------------------------------------"
echo "İşlemci Modeli   : $CPU_MODEL"
echo "İşlemci Mimarisi : $CPU_ARCH"
echo "Toplam RAM       : ${total_memory} GB (${populated_slots} dolu, ${empty_slots} Slot Boş)"
echo "------------------------------------"
echo "Grafik Kartları  :"
echo -e "$GPU_SUMMARY"
echo "------------------------------------"
echo "Depolama Bilgisi:"
echo "$DISK_INFO"
echo "------------------------------------"
echo "Yerel IP Adresi  : $IP_ADDR"
echo "DNS Sunucuları   : $DNS_SERVERS"
echo "WAN IP Adresi    : $WAN_IP"
echo "===================================="
Resim
Resim
Kullanıcı avatarı
burak35
Exabyte3
Exabyte3
Mesajlar: 13427
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 7596 kez
Teşekkür edildi: 8394 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

TRWE_2012 yazdı: 15 Şub 2025, 16:00
burak35 yazdı: 15 Şub 2025, 14:30 Herkese iyi hafta sonları. Ufak bir yardıma ihtiyacım var. Bu scripti kullanamk istiyorum. Ancak kendime göre düzenlemem lazım.
Aşağıda ekran görüntüsünde kırmızı çizgilerle işaretlediğim ağ kartı 3 ve ağ kartı 4 yazan yerleri scriptten nasıl kaldırabilirim?
Yardım eden olursa sevinirim. Şimdiden herkese teşekkürler. İyi günler.
Resim

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

Sağol. Teşekkür ederim. Bunu denedim. ama hem masaüstüne çıktı kaydediyor. ki ben bunu istememiştim.
Hemde wifi kartı ve ethernet kartı kayboldu. Ben bu ikisininde görünmesini istemiştim. Biraz uğraştım ama yapamadım.
Bu script işleri biraz zor ya.
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

burak35 yazdı: 16 Şub 2025, 23:39
TRWE_2012 yazdı: 15 Şub 2025, 16:00
burak35 yazdı: 15 Şub 2025, 14:30 Herkese iyi hafta sonları. Ufak bir yardıma ihtiyacım var. Bu scripti kullanamk istiyorum. Ancak kendime göre düzenlemem lazım.
Aşağıda ekran görüntüsünde kırmızı çizgilerle işaretlediğim ağ kartı 3 ve ağ kartı 4 yazan yerleri scriptten nasıl kaldırabilirim?
Yardım eden olursa sevinirim. Şimdiden herkese teşekkürler. İyi günler.
Resim

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

Sağol. Teşekkür ederim. Bunu denedim. ama hem masaüstüne çıktı kaydediyor. ki ben bunu istememiştim.
Hemde wifi kartı ve ethernet kartı kayboldu. Ben bu ikisininde görünmesini istemiştim. Biraz uğraştım ama yapamadım.
Bu script işleri biraz zor ya.
Kusura bakma kafa gitti..Bu forum mesajının birinci sayfasında geliştiricinin orjinal betiğinin web sayfası var.Oradan indir.
Kullanıcı avatarı
burak35
Exabyte3
Exabyte3
Mesajlar: 13427
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 7596 kez
Teşekkür edildi: 8394 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Oradan indirdim zaten. Sadece kendime göre düzenlemek istiyordum. Ama olsun önemli değil.
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

burak35 yazdı: 17 Şub 2025, 00:27 Oradan indirdim zaten. Sadece kendime göre düzenlemek istiyordum. Ama olsun önemli değil.
Vallah önemlidir ha...!!!

İstediklerini buraya yaz...(madde madde)Uğraşayım...!!! Bu forum niçin var?... :-D
Kullanıcı avatarı
burak35
Exabyte3
Exabyte3
Mesajlar: 13427
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 7596 kez
Teşekkür edildi: 8394 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen burak35 »

Ss attım ya ?
Kullanıcı avatarı
TRWE_2012
Exabyte2
Exabyte2
Mesajlar: 12708
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 1408 kez
Teşekkür edildi: 3348 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen TRWE_2012 »

burak35 yazdı: 17 Şub 2025, 11:45 Ss attım ya ?
Madde madde yazsan olmaz mı? (espiri : biraz uğraştırayım seni.... :-D )
Kayserilifatih
Gigabyte2
Gigabyte2
Mesajlar: 2527
Kayıt: 30 Ağu 2024, 20:48
Teşekkür etti: 456 kez
Teşekkür edildi: 2048 kez

Re: Donanım Bilgisi (vbscript)

Mesaj gönderen Kayserilifatih »

burak35 yazdı: 16 Şub 2025, 23:39
TRWE_2012 yazdı: 15 Şub 2025, 16:00
burak35 yazdı: 15 Şub 2025, 14:30 Herkese iyi hafta sonları. Ufak bir yardıma ihtiyacım var. Bu scripti kullanamk istiyorum. Ancak kendime göre düzenlemem lazım.
Aşağıda ekran görüntüsünde kırmızı çizgilerle işaretlediğim ağ kartı 3 ve ağ kartı 4 yazan yerleri scriptten nasıl kaldırabilirim?
Yardım eden olursa sevinirim. Şimdiden herkese teşekkürler. İyi günler.
Resim

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

Sağol. Teşekkür ederim. Bunu denedim. ama hem masaüstüne çıktı kaydediyor. ki ben bunu istememiştim.
Hemde wifi kartı ve ethernet kartı kayboldu. Ben bu ikisininde görünmesini istemiştim. Biraz uğraştım ama yapamadım.
Bu script işleri biraz zor ya.
Sana istediğin şekilde sadece ag kartı 1 ve 2'yi gösterecek şekilde script hazırladım. Bunu indirip deneyebilirsin. Kendi bilgisayarımda denedim. Normal scriptte ağ kartı 3 ve 4'ü gösteriyordu şimdiki editledigimde göstermiyor.

https://pixeldrain.com/u/7vgUvqMf
Cevapla