Set PATH system-wide
$newPath = $env:Path
$newPath += ";C:\YournewPath" #see that ; at the begining is fuckin important!
[Environment]::SetEnvironmentVariable("Path",$newPath,[EnvironmentVariableTarget]::Machine)
#restart powershell
Add Windows service from command line (create)
sc create <servicename> binpath= "<pathtobinaryexecutable>" [option1] [option2] [optionN]
The trick is to leave a space after the = in your create statement, and also to use " " for anything containing special characters or spaces.
Use .NET type (assembly) from PowerShell
Add-Type -AssemblyName System.ServiceProcess
Get SID for account
$objUser = New-Object System.Security.Principal.NTAccount("user")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
wget (Invoke-WebRequest) download file
Works in PowerShell 2.0:
$url = "###"
$fileName = "test.rar"
(New-Object System.Net.WebClient).DownloadFile($url,$($pwd.ToString() +"\$fileName"))
Run SQL from PowerShell
Import-Module SqlPs
Invoke-SqlCmd "select * from FROM [sharepoint_fba_db].[dbo].[aspnet_Users]"
Convert to JPG from PNG
function ConvertTo-Jpg
{
    [cmdletbinding()]
    param([Parameter(Mandatory=$true, ValueFromPipeline = $true)] $Path)
    process{
        if ($Path -is [string])
        { $Path = get-childitem $Path }
        $Path | foreach {
            $image = [System.Drawing.Image]::FromFile($($_.FullName));
            $FilePath = [IO.Path]::ChangeExtension($_.FullName, '.jpg');
            $image.Save($FilePath, [System.Drawing.Imaging.ImageFormat]::Jpeg);
            $image.Dispose();
        }
    }
 }
 #Use function:
 #Cd to directory w/ png files
 cd .\bin\pngTest
 #Run ConvertTo-Jpg function
 Get-ChildItem *.png | ConvertTo-Jpg
Transform image to base64
[convert]::ToBase64String((get-content $path -encoding byte))
Hyper-V
Get VM IP address
Gets Virtual Machine network address
Get-VMNetworkAdapter Ubuntu16 | select IPAddresses
Enable VM inside VM (nested virtualization)
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
LINQ ZIP function for PowerShell
function Select-Zip {
    [CmdletBinding()]
    Param(
        $First,
        $Second,
        $ResultSelector = { ,$args }
    )
    [System.Linq.Enumerable]::Zip($First, $Second, [Func[Object, Object, Object[]]]$ResultSelector)
}
                No matches...