Category Archives: Technology

Exporting Active Directory Users Into CSV

It took far too long to find this very very useful command online so I thought I’d repost to help others find it.
The below command exports as follows:
Connection to server: domain.local
Exporting attributes: whenChanged,whenCreated,cn,sAMAccountName,givenName,sn
From DN Root: DC=domain,DC=local
Into File: domain.local-users.csv
csvde -s domain.local -l "whenChanged,whenCreated,cn,sAMAccountName,givenName,sn" -d "DC=domain,DC=local" -f domain.local-users.csv

Solution: libpam-radius-auth: Sends out 127.0.0.1 as NAS-IP-Address

Symptom

When authentication linux to radius using libpam-radius-auth: Sends out 127.0.0.1 as NAS-IP-Address

Cause

/etc/hosts file contains the local machine’s hostname with 127.0.0.1

Solution

Either remove the offending line, or before this line place the correct ip address with the hostname (note that order is important).
10.0.0.5 computerName
127.0.0.1 computerName

OnePlus X vs. OnePlus One vs OnePlus 2 Specification Comparision

For full Google Sheet version go here OnePlus X vs. OnePlus One vs OnePlus 2 Specification Comparision

OnePlus One OnePlus 2 OnePlus X
Height in Inches 6.02 5.98 5.51
Width in Inches 2.99 2.95 2.72
Depth in Inches 0.35 0.39 0.27
Available Materials Sandstone Black Sandstone Black Or Silk White Onyx Black Glass or Ceramic
Display Resolution 1920 x 1080 1920 x 1080 1920.108
Display PPI (Pixels Per Inch) 401 401 441
Display Size (in Inches) 5.5 5.5 5
Camera Resolution (in Megapixels) 13 13 13
Camera Aperture (lower number bigger aperture) f/2.0 f/2.0 f/2.2
Auto Focus Time in Seconds 0.2 0.2
Front Camera Resolution (in Megapixels) 5 5 8
Processor Qualcomm Snapdragon 801 Qualcomm Snapdragon 810 Qualcomm Snapdragon 801
RAM (GB) 3 3 3 or 4
Storage Options Available (in GB) 16/64 32/64 16 (SD card upto 128GB for expansion)
Default Software CyanogenMod Oxygen 2 Oxygen 2
Price (in Dollars) 299 for 64GB 389 for 64GB 250 Onyx / 370 Ceramic

https://docs.google.com/spreadsheets/d/1jXSlDenVsASZzpvLMFsuoN52E5f0zNhmWIoZX7M5Sds/edit?usp=sharing

Powershell Script to Check if a Website is Up and if Not Restart a service

The below PowerShell script check the website is responding AND doesn’t returns a certain string, if either test is failed then a Windows service is restarted, forcefully if necessary after a grace period.

Please note that I have modified this script to make it more easily customisable and not had the opportunity to test with the strings switched out for the variables. The logic is sound and works.

Also note that this is one code block (word press isn’t a fan of it being one though :-/
You can download the file here CheckWebsiteIsUp.ps1

$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")


#Initialising
$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")

#Variables to modify
$output = "" #Define output variable
$serviceName = "confluence" #Short windows service name
$smtpServerName = "smtp.website.com" #SMTP Server name
$fromEmailAddress = "[email protected]" #Email address for mail to come from/reply address
$stringToCheckFor = "The service is unavailable" #String to check for. Note that this will be searched for with wildcards either side
$startTime = get-date
$output = $webClient.DownloadString("http://www.website.com/") #Modify this url to be the url you want to test
$endTime = get-date

#Main workload
#The below checks for the string "The service is unavailable" from your website and if found forcefully restarts the defined service
if ($output -And $output -notlike "*$stringToCheckFor*") {
"Site Up`t`t" + $startTime.DateTime + "`t`t" + ($endTime - $startTime).TotalSeconds + " seconds"
} else {
"Fail`t`t" + $startTime.DateTime + "`t`t" + ($endTime - $startTime).TotalSeconds + " seconds"
stop-service $serviceName -force
"Stop Service Command Sent"
$svc = Get-Service $serviceName
$svc.WaitForStatus('Stopped','00:05:00') #Waits for service to enter stopped state or 5 mins has passed, whichever is first
get-service $serviceName | where-object {$_.Status -eq "Stopped"} | restart-service #Belt and braces but only restarts the service if it's stopped.
$svc.WaitForStatus('Running','00:01:00') #Waits for service to enter Running state or 1 minute to pass, whichever is first
Send-MailMessage -From “[email protected]” -To “$fromEmailAddress” -SmtpServer “$smtpServerName” -Subject "$serviceName Service Restarted" -Body "$serviceName Service Restarted" #Sends an email alert that the service was restarted
}