Skip to content

Instantly share code, notes, and snippets.

View cosoria's full-sized avatar

Carlos Osoria cosoria

  • Oxoria Consulting Inc
  • Winnipeg, CA
View GitHub Profile
@cosoria
cosoria / Get-WindowsFeatures.ps1
Last active September 27, 2016 19:34
Get-WindowsFeatures
function Get-WindowsFeatures() {
[CmdletBinding()]
param()
$winFeatures = @();
$tempFile = Join-Path $env:temp "__winFeatures.log";
& dism.exe /online /get-features /format:table | out-file $tempFile -Force;
$discoveredFeatures = (Import-CSV -Delim '|' -Path $tempFile -Header Name,state | Where-Object {$_.State -eq "Enabled "}) | Select Name;
@cosoria
cosoria / Prompt-YesNo.ps1
Created September 27, 2016 19:38
Prompt-YesNo
function Prompt-YesNo($message) {
$noAnswerYet = $true;
while($noAnswerYet) {
try {
$messagePrompt = $message + "? [Y]es or [N]o";
$answer = Read-Host -Prompt $messagePrompt;
@cosoria
cosoria / Prompt-Menu.ps1
Created September 27, 2016 19:40
Prompt-Menu displays a menu to the user $options contains an array of string
function Prompt-Menu($title, $options) {
$answerIndex = -1;
$noAnswerYet = $true;
while($noAnswerYet) {
try {
Write-Host $title;
Write-Host "";
@cosoria
cosoria / Copy-Directory.ps1
Created September 27, 2016 19:41
Copy-Directory
function Copy-Directory($sourceDir, $destinationDir) {
robocopy $sourceDir $destinationDir /S /E /Z /XA:HS /XD .* /W:5 /NFL /NDL /NJH /NJS /NC /NS /NP | Out-Null;
}
@cosoria
cosoria / Synchronize-Directory.ps1
Created September 27, 2016 19:42
Synchronize-Directory
function Synchronize-Directory($sourceDir, $destinationDir) {
robocopy $sourceDir $destinationDir /MIR /FFT /Z /XA:H /W:5 /NFL /NDL /NJH /NJS /NC /NS /NP | Out-Null;
}
@cosoria
cosoria / Get-SystemVersion.ps1
Created September 27, 2016 19:44
Get-SystemVersion ( Works on Win7, Win81, Win10, Win2008 R2, Win2012 )
function Get-SystemVersion() {
return (Get-WmiObject -Class Win32_OperatingSystem).Caption + " [" + [system.environment]::OSVersion.Version.ToString() + "]";
}
@cosoria
cosoria / Get-ComputerName.ps1
Created September 27, 2016 19:45
Get-ComputerName
function Get-ComputerName() {
return [system.environment]::MachineName;
}
@cosoria
cosoria / Create-Directory.ps1
Created September 27, 2016 19:47
Create-Directory (won't barf if exist)
function Create-Directory($dirPath) {
if(!(Test-Path -Path $dirPath -PathType Container)) {
New-Item -Path $dirPath -ItemType directory -Force | Out-Null;
}
}
@cosoria
cosoria / Delete-Directory.ps1
Created September 27, 2016 19:48
Delete-Directory (won't barf if doesn't exist)
function Delete-Directory($dirPath) {
if(Test-Path -Path $dirPath -PathType Container) {
Remove-Item -Path $dirPath -Recurse;
}
}
@cosoria
cosoria / Test-Administrator.ps1
Created September 27, 2016 19:52
Test-Administrator
function Test-Administrator
{
<#
.SYNOPSIS
Returns True is the current user is an administrator
.DESCRIPTION
Returns True is the current user is an administrator
.EXAMPLE
if(Test-Administrator) { Action }
#>