Skip to content

Instantly share code, notes, and snippets.

@thecliguy
thecliguy / ListApprovedAndDeclinesUpdates.ps1
Created January 22, 2018 14:01
List Approved and Declines Updates
# List approved and decline updates, including details such as the computer
# group(s) for which they have been approved/declined and the date/time on which
# the action was taken.
# NB: If an administrator has neither approve or declined an update then it is
# implcitly classified as 'NotApproved'. However, it would appear that the
# 'GetUpdateApprovals' method (used below) does NOT retrieve such updates.
$serverName = "TestServer"
$portnumber = 8530
@thecliguy
thecliguy / FindExpectedValueInStdOut.ps1
Last active March 4, 2018 11:01
Find Expected Value in Standard Output
$ExpectedValue = "Ping statistics for 127.0.0.1:"
$Binary = "ping.exe"
$Arguments = "127.0.0.1 -n 10"
$ProcessStartInfo = New-Object System.Diagnostics.ProcessStartInfo
$ProcessStartInfo.UseShellExecute = $false
$ProcessStartInfo.RedirectStandardError = $true
$ProcessStartInfo.RedirectStandardInput = $true
$ProcessStartInfo.RedirectStandardOutput = $true
$ProcessStartInfo.FileName = $Binary
Grant user 'Log on as batch job' rights
=======================================
NTRIGHTS.EXE:
* NTRIGHTS.exe is part of the Windows Server 2003 Resource Kit.
Once installed, NTRIGHTS.exe resides in 'C:\Program Files (x86)\Windows Resource Kits\Tools\'.
* I have tested it on Windows Server 2012 R2 x64, works fine.
* [ ] Run the following command: ntrights -u <USERNAME> +r SeBatchLogonRight
SECPOL.MSC:
@thecliguy
thecliguy / replace.ps1
Created June 1, 2018 09:51
Replace Example
$sRawOutput -replace ':\\: =>', '='
@thecliguy
thecliguy / weechat_bot2human.py
Last active July 14, 2018 01:24 — forked from bigeagle/weechat_bot2human.py
Replace IRC message nicknames with regex match from chat text
# -*- coding:utf-8 -*-
# Bot2Human
#
# Replaces messages from bots to humans
# typically used in channels that are connected with other IMs using bots
#
# For example, if a bot send messages from XMPP is like `[nick] content`,
# weechat would show `bot | [nick] content` which looks bad; this script
# make weecaht display `nick | content` so that the messages looks like
# normal IRC message
$TriggerParams = @{
Daily = $true
At = '12am'
ErrorAction = 'Stop'
}
$SettingsParams = @{
ExecutionTimeLimit = [TimeSpan]::FromHours(2)
ErrorAction = 'Stop'
}
$TaskParams = @{
@thecliguy
thecliguy / ForEachOutput.ps1
Last active August 15, 2018 13:23
ForEach Output Experiments
# foreach pipeline without format-table
$col = 1,2,3
$col | foreach {
write-host "Doing thing $($_)..."
get-childitem C:\windows\regedit.exe
}
# Output:
@thecliguy
thecliguy / sp_formatted_output.md
Created August 24, 2018 16:07
sp formatted output

a

On the server:
- Create a .ssh directory in the user's profile.
- Create a file named "authorized_keys" in the .ssh directory.
- Grant permissions on the directory - only the owner can read, write, or open the directory.
- Grant permissions on the file - owner can read and write.
On the client:
- Generate a key pair using PuTTY Key Generator (puttygen.exe).
- Right-click in the text field labelled Public key for pasting into
OpenSSH authorized_keys file and choose 'Select All'.
$SourceRoot = "C:\foo"
$DestRoot = "C:\blah"
$SourceContent = Get-ChildItem $SourceRoot -Recurse
$SourceContent | foreach {
If ($_.PSIsContainer) {$NewItemType = "Directory"}
Else {$NewItemType = "File"}
$newitem = ($_.fullname).replace($SourceRoot, $DestRoot)
New-Item $newitem -ItemType $NewItemType -force
}