Category: computer

Python Math Game

This is a program I made for my daughter to sharpen her multiplication skills. This program is a multiplication quiz game that asks the player 10 random multiplication questions. The game tracks the number of correct and incorrect answers, records how long the player takes to answer each question, and saves the results in a text file called multiplication_results.txt.

She enjoys playing with this program even if it is just a plain text game. Below is the source code of version 1. If you want a copy of the program leave a comment below. Stay tuned for the next version, which is coming soon!

Read more

Updating Active Directory User Data

The Situation

Adding new employee user accounts, updating their information when changes occur, and deleting accounts when employment ends are straightforward tasks in Windows Active Directory—if you’re only managing a small number of changes at a time.

However, this simplicity becomes a challenge as the number of employees grows, as we’ve experienced at work. Over the years, our employee count has increased, leading to a corresponding rise in domain users. Additionally, every employee requires access to a domain computer to perform their work. On top of that, we also need to create user accounts for interns, volunteers, and contractors, and managing their access status further complicates things.

To make matters worse, we have a limited number of IT staff and a restricted IT budget, as our organization is a non-profit. Therefore, I need to find a solution to manage this aspect of our work more efficiently.

Here’s What I Did in This Situation

I recognized that finding better ways to manage our user list was a significant project for us, but I was confident that once completed, it would bring substantial long-term benefits to the department. The first step I took was to examine our HRIS (Human Resources Information System) and AD (Active Directory), comparing the information in AD with what we had in our HRIS.

One issue I noticed was that the employee ID number had never been entered into AD. I understood that this would be the first thing I needed to address. I needed a unique key for this project, and the EIDN (employee ID number) served this purpose perfectly.

To begin, I created a local folder on my computer and prepared a CSV file with the following columns:

  • SamAccountName
  • EmployeeID
  • Department
  • ManagerSamAccountName

Next, I wrote a PowerShell script to generate a CSV file in this format. I also created a corresponding report in our HRIS with the following columns:

  • Username
  • EmployeeID
  • Department
  • Manager
Get-ADUser -Filter {Enabled -eq $true} -Properties EmployeeID, Department, Manager |
Select-Object Name,SamAccountName,EmployeeID,Department,Manager |
Sort-Object Name |
Export-Csv -Path "C:\psLogs\EmployeeList-AD-result.csv" -NoTypeInformation

Using MS Excel, I populated the CSV file with the necessary information. I used the VLOOKUP function in this task.

Then I created this script that will import the CSV file and update the Active Directory.


Import-Csv -Path "C:\psLogs\EmployeeList-AD.csv" |
ForEach-Object {
$managerDN = (Get-ADUser -Identity $_.ManagerSamAccountName).DistinguishedName
Set-ADUser -Identity $_.SamAccountName -EmployeeID $_.EmployeeID -Department $_.Department -Manager $managerDN

}
<h1>Use this if you want to export results into a csv file.</h1>
Get-ADUser -Filter {Enabled -eq $true} -Properties EmployeeID, Department, Manager |
Select-Object Name,SamAccountName,EmployeeID,Department,Manager |
Sort-Object Name |
Export-Csv -Path "C:\psLogs\EmployeeList-AD-result.csv" -NoTypeInformation

Now that I have the EID of employees I can easily compare our current employee list with our active AD user list.

Life of an IT Professional.

I have been in the IT profession for a long time. This series of posts covers various scenarios I’ve encountered and how I tackled each one. It’s not intended to prescribe how things should be done, but rather to serve as a personal journal of my IT work. Also, I’m grateful for the internet and the many people who generously share their knowledge. That’s why I’m creating this series—to give back to the community by sharing my life experiences as an IT professional.

If you stumble upon our website and have questions about my posts, feel free to leave a comment below.

SonicWall NSM Reporting Issue

Yesterday, I logged in to our SonicWall NSM and noticed that reports did not have data for a few days. I get an error when I generate the report in Reports / Rules. I go to Firewall / Inventory and go to our NSA 2700, and noticed that when you go to Monitor/ Overview / Live Monitor, there is no data.

Below are the steps I took to resolve the issue.

  • In Firewall View, Go to Device / AppFlow / Flow Reporting to check your settings. Checked Statistics, and made sure your connection flows and data flows. Check your Settings that it is still set to send the report.
  • Go to Device / Settings / Licenses and just check that your license did not expire.
  • Go to Device / Settings / Firmware and Settings and check the firmware version. This will be a good time to check if your cloud backup is working and download a local backup.

At the time, all looks good, except that the firmware is one release behind. I called support just to confirm that there is no current issue with NSM, and it was confirmed that there is no ongoing service issue. Support checked settings and suggested to update to the latest firmware.

  • I logged in to MySonicWall and downloaded the latest release. I logged in to our NSA 2700 locally and installed the firmware. The update took about 20 to 25 minutes since we have HA setup. Firmware was installed on Secondary, failed over to Secondary then it was installed on Primary. After the Primary installation was completed, I failed over back to Primary.
  • I went back to NSM and clicked on Synchronize Firewall as it is showing up as unmanaged.
  • I then clicked on Reconfigure Reporting & Analytics to make sure the reporting was synching.

The update process was smooth, and we experienced no significant disruptions during the transition to the latest firmware. 10 minutes, I revisited Firewall View / Monitor / Overview / Live Monitor on our SonicWall NSM, and I now see data/ information showing up.

Arduino

Learning Arduino – 1 of many

In 2010, I got myself an Arduino Duemilanove, here is the link to my post https://nhymbe.net/arduino/. I got interested in learning about it and wanted to see what can I build with it. I know I have a decent knowledge of how to code in C/C++ and a decent knowledge of electronics which I think would be enough to start learning Arduino. Unfortunately, life got busy, so I never had the opportunity to delve deeper into my Arduino projects.

Fast forward to 2023, while cleaning and inspecting my belongings, I stumbled upon the Arduino and its accessories I purchased 13 years ago. It reminded me of my initial enthusiasm and curiosity about exploring its potential. When my children saw it, they were curious and asked what it was. I explained that it was a device I wanted to try out long ago, but life got busy, and I never had the chance to explore it fully. Now, seeing their interest, I’m considering giving it another shot and involving them in discovering its possibilities together.

Join me as I start to re-learn Arduino. I will document this learning journey for you to follow our progress. Feel free to reach out if you have any suggestions or questions, or need assistance.

Read more