Skip to content

Instantly share code, notes, and snippets.

View Sarafian's full-sized avatar

Alex Sarafian Sarafian

View GitHub Profile
@Sarafian
Sarafian / Export-ModuleDocumentation.ps1
Created January 16, 2017 12:06
Export a module's documentation in markdown
#requires -module platyPS
<#
.SYNOPSIS
Export a module's documentation in markdown.
.DESCRIPTION
Export a module's documentation in markdown.
@Sarafian
Sarafian / Docker-Prune.txt
Last active May 3, 2018 13:44
How to remove unused Docker containers and images. Copy from comment in [gist](https://gist.github.com/ngpestelos/4fc2e31e19f86b9cf10b#gistcomment-1940551)
docker container prune # Remove all stopped containers
docker volume prune # Remove all unused volumes
docker image prune # Remove unused images
docker system prune # All of the above, in this order: containers, volumes, images
@Sarafian
Sarafian / Get-RandomString.ps1
Created March 30, 2017 06:34
Get random string PowerShell
function GetRandomString([int]$length){
-join ((65..90) + (97..122) | Get-Random -Count $length | % {[char]$_})
}
@Sarafian
Sarafian / Get-ISHCMWebSession.ps1
Created April 10, 2017 07:44
Access ISHCM from PowerShell
Function Get-ISHCMWebSession {
param (
[Parameter(Mandatory=$true)]
[string]$DeploymentName,
[Parameter(Mandatory=$false)]
[PSCredential]$Credential=$null
)
$deployment=Get-ISHDeployment -Name $DeploymentName
$deploymentParameters=Get-ISHDeploymentParameters -ISHDeployment $DeploymentName
@Sarafian
Sarafian / Start-MyRemoteDesktopConnection.ps1
Created April 11, 2017 06:46
Start PowerShell ISE or execute scripts as if the Windows System account was
<#
.Synopsis
Starts a remote desktop connection
.DESCRIPTION
Starts a remote desktop connection
.EXAMPLE
Start-MyRemoteDesktopConnection
#>
function Start-MyAsSystem
{
@Sarafian
Sarafian / Test-PesterInvocation.ps1
Created April 27, 2017 09:12
Check if powershell code is executed as part of a Pester test
function Test-PesterInvocation {
$commandStack=Get-PSCallStack | Select-Object -ExpandProperty Command
#region Render
<#
for($i=$commandStack.Count-1;$i -ge 0;$i--)
{
$prefix="+".PadRight($commandStack.Count-1-$i,'-')
Write-Host ($prefix+$commandStack[$i])
}
@Sarafian
Sarafian / New-RandomPassword.ps1
Last active May 2, 2017 09:42
Generate new random password with PowerShell
function New-RandomPassword
{
param(
[Parameter(Mandatory=$false)]
[int]$Length=8
)
begin {
}
@Sarafian
Sarafian / Disconnect-RemoteSessions.ps1
Created May 10, 2018 09:21
Disconnect/Terminate remote sessions
<#
.Synopsis
Disconnects your user from remote computers
.DESCRIPTION
This scripts uses the quser and qwinsta to scan for session on a remote computer and then rwinsta to disconnect it
.NOTES
.LINK
@Sarafian
Sarafian / Filtering.ps1
Created April 21, 2019 18:13
Samples for tweet asking for name inspiration
<# Goal
In between null and arrays need to be transparently resolved
Filter an in memory typed structure generated from the followign xml
example expression dataElementsMaster.dataElementsIndiv.serviceRequest.ssr.type -eq CTCE
instead of
$pnrRetrieveResponse.dataElementsMaster.dataElementsIndiv | Where-Object {
($_.serviceRequest -ne $null) -and
($_.serviceRequest.ssr -ne $null) -and
($_.serviceRequest.ssr.type -eq "CTCE")
}
@Sarafian
Sarafian / Install.sh
Created January 21, 2020 10:15
Install Ruby and Jenkins on Visual Studio Online environment.
# Install ruby-build
sudo apt install ruby-build -y
# Install Ruby 2.4.0
rbenv install 2.4.0
# Add rbenv initialization to profile
echo 'export PATH="$HOME/.rbenv/shims:$PATH"' >> ~/.bash_profile
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile