northben's blog

SQL Server date time conversions to/from Unix bigint format UPDATED

Categories:

I am in the middle of a SQL data conversion project. Amazingly, our *new* SQL Server database requires dates to be stored in Unix format, which is a bigint field with the number of milliseconds since 01/01/1970. Amazing, I tell you.

Here are some queries that I have found useful in this project. I have updated this article to include an alternative that does not involve functions.

Comments on my website

Due to unrelenting spammers, I have switched to allowing only Facebook comments on my website. I hope you are all ok with that, you Googlers of the internet!

How to snap windows horizontally in Windows 7

Categories:

You may know the convenient feature in Windows 7 to snap windows to the right and left: drag a window all the way to one side of your screen and it will snap to the side of your screen, taking up exactly one half of it. The keyboard shortcut Win+Left (right) arrow does this as well. But how do you snap windows to the top and bottom of your screen? It's easy!

Enable Drupal's Clean URLs feature on Network Solutions hosting

Categories:

If you are running a Drupal site with Network Solutions hosting, please accept my condolences. And the lack of shell access? The pain of your loss is almost unbearable.

However, thanks to jomariworks on the Network Solutions forums, at least you can enable Clean URLs!

Converting FLAC files on Windows, or, "How I use ffmpeg to rule the world"

Categories:

I had some FLAC audio files on my computer that I wanted to convert to a lossy format (AAC, in my case). iTunes won't play FLAC, and VLC wasn't helping me. I ended up calling FFmpeg in a PowerShell script to quickly convert all of the files.

$target = 'J:\FLAC'
$target = $target + "\*.flac"
$files = Get-ChildItem $target

foreach ($file in $files) {
    .\ffmpeg.exe -i $file -acodec libvo_aacenc -b:a 256k -ar 44100 -threads 4 -n $($file.BaseName + ".m4a")
}

How to retrieve file modification time through WMI and PowerShell

Categories:

I needed to get a file modification timestamp through WMI (for an irrelevant reason, I couldn't use the UNC path and PowerShell's get-childitem cmdlet). So, WMI it had to be...

$file = gwmi -computername remoteComputer -query "select * from cim_datafile where name = 'C:\\file.txt' "
$age = (get-date) - $file.convertToDateTime($file.LastModified)
return $age.seconds

Pretty quick and painless!

Note: you could get (m)any other file attributes by slightly altering these lines. Remember: the get-member cmdlet is your friend!

PowerShell Parameters

Categories:

If you're writing a script that takes parameters with the "param" statement/feature, don't declare any variables before param. It will throw some weird errors! You can put variables in the Begin scriptblock instead.

How to copy group membership between Active Directory users

Categories:

Let's say you need to add a new user to all the Active Directory groups of an existing user. It would be painstaking and error-prone to compare group memberships in the AD Users & Computers snap-in. But don't despair: There is an easier way!

First, install the free ActiveRoles Management Shell module for PowerShell from Quest if you don't already have it. Trust me, you'll wonder how you managed Active Directory without it!

Second, run a command like this in PowerShell:

Remove empty lines from a file with PowerShell

Categories:

Here's a quick way to remove blank lines from a file using PowerShell. This will also remove lines that only have spaces.

(gc file.txt) | ? {$_.trim() -ne "" } | set-content file.txt

Error when running gpupdate "Windows could not evaluate the Windows Management Instrumentation for the Group Policy object"

When working with group policies, if you get this error, make sure that you are not setting up Security Filtering for let's say, "Authenticated Users" (which is the default for a new GPO) when you're trying to set computer-level group policy settings.

C:\Users\administrator>gpupdate /force
Updating Policy...

User Policy update has completed successfully.
Computer policy could not be updated successfully. The following errors were encountered:

Pages

Subscribe to RSS - northben's blog