Skip to content

Instantly share code, notes, and snippets.

View ayancey's full-sized avatar
💭
available for contract work

Alex Yancey ayancey

💭
available for contract work
View GitHub Profile
'''''''''''''''''''''''''''''
' Purpose: Allows you to easily get the RAM configuration of a computer. LAN Sweeper won't tell you the RAM type, but this utility will. This should be useful for RAM upgrades.
' Requirements: Probably admin in Active Directory
' Written by: Alex Yancey
' Date: September 15, 2016
'''''''''''''''''''''''''''''
' More info about SMBIOS can be found in the SMBIOS specification: https://www.dmtf.org/standards/smbios, and from this article: http://www.codeguru.com/cpp/misc/misc/system/article.php/c12347/SMBIOS-Demystified.htm
computer_name = InputBox("Computer name: ", "RAM Identifier")
' More info about SMBIOS can be found in the SMBIOS specification: https://www.dmtf.org/standards/smbios, and from this article: http://www.codeguru.com/cpp/misc/misc/system/article.php/c12347/SMBIOS-Demystified.htm
' Get SMBIOS data using WMI
Set objWMIService = GetObject("winmgmts:\\.\root\WMI")
Set smbios_array = objWMIService.ExecQuery("SELECT * FROM MSSmBios_RawSMBiosTables")
For Each i in smbios_array
Set smbios = i
Exit For
Next
smbios_string = Join(smbios.SMBiosData, ",")
@ayancey
ayancey / ram_type.py
Last active November 12, 2021 13:58
Gets the type of RAM in Windows, with raw SMBIOS data. Works even if Win32_PhysicalMemory.MemoryType is Unknown.
import wmi
import struct
# RAM memory types described in 7.18.2 in SMBIOS Specification
MEMORY_TYPES = {1: 'Other', 2: 'Unknown', 3: 'DRAM', 4: 'EDRAM', 5: 'VRAM', 6: 'SRAM', 7: 'RAM', 8: 'ROM', 9: 'FLASH', 10: 'EEPROM', 11: 'FEPROM', 12: 'EPROM', 13: 'CDRAM', 14: '3DRAM', 15: 'SDRAM', 16: 'SGRAM', 17: 'RDRAM', 18: 'DDR', 19: 'DDR2', 20: 'DDR2 FB-DIMM', 21: 'Reserved', 22: 'Reserved', 23: 'Reserved', 24: 'DDR3', 25: 'FBD2'}
def Get_SMBIOS(w):
SMBIOSTableData = ""
for i in w.query("SELECT * FROM MSSmBios_RawSMBiosTables")[0].SMBiosData:
@ayancey
ayancey / meh.py
Last active July 15, 2016 17:35
For Joe
import requests
from bs4 import BeautifulSoup
import re
import json
import clipboard
first_level_categories = {74: {}, 75: {}, 134: {}, 79: {}, 53: {}, 86: {}, 110: {}, 76: {}, 77: {}}
# Get 2nd level categories
for category in first_level_categories:
# actual_data = json.loads(data)
# for c in actual_data:
# if not actual_data[c]:
# print c + '--'
# r = requests.post('http://www.beertutor.com/beers/index.php?t=sub_pages&cat=' + str(c), data = {'num_results': '5000'})
@ayancey
ayancey / helpers.py
Last active December 4, 2016 01:34
import os
import time
import datetime
import pickle
import webbrowser
import codecs
import subprocess
import sys
# Quick little function that opens the default web browser and displays the HTML of your choice
from mutagen.mp4 import MP4
audio = MP4("Did You.m4a")
print "Artist: " + audio.tags['\xa9ART'][0]
audio.tags['\xa9ART'] = "Someone Else"
audio.save()
audio = MP4("Did You.m4a")