Skip to content

Instantly share code, notes, and snippets.

View Agazoth's full-sized avatar

Axel B. Andersen Agazoth

View GitHub Profile
@Agazoth
Agazoth / Get-MonitorInfo.ps1
Last active April 15, 2023 23:24
Iron Scripter 2018 Puzzle 1 for multiple machines
function Get-MonitorInfo {
[CmdletBinding()]
param ([string[]]$ComputerNames = $env:computername)
foreach ($ComputerName in $ComputerNames){
try {
$CimSession = New-CimSession -ComputerName $ComputerName
} catch {
Write-Warning "Please make sure PSRemoting is enabled on $ComputerName"
Continue
}
Import-Module posh-git
$GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`nPS'
function Get-Access {Get-AzContext -ListAvailable | Sort-Object account | Out-ConsoleGridView | Set-AzContext}
function Get-Subscription {Get-AzSubscription | Sort-Object Name | Out-ConsoleGridView | Select-AzSubscription}
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
function _ {
$c=1
1..20|%{Write-Host $c
$i=0
$a=@($c[0])
while($i -lt $_){$a+=($c[$i]+$c[++$i])}
$c=$a}
@Agazoth
Agazoth / GetFileReport.ps1
Last active March 6, 2020 16:50
Generates a usage report on a given folder
# This script generates a report containing the nessesary information about Size, LastChangeDate, LastReadDate on any given share
# The script needs to run locally on the server to optimize speed
param ([System.IO.DirectoryInfo]$Path, [switch]$SkipUnicode)
if (!$Path.Exists){
Write-Warning "$($path.FullName) not found!"
break
}
#Add Unicode switch
@Agazoth
Agazoth / AutoPilotInfoToBusinessStore.ps1
Last active December 4, 2019 08:44
New W10 machine to Autopilot
Powershell
Set-Executionpolicy -unrestricted
Install-Script -Name Get-WindowsAutoPilotInfo -Scope CurrentUser
Get-WindowsAutoPilotInfo C:\Info.csv
&'C:\Program Files (x86)\Internet Explorer\iexplore.exe' https://businessstore.microsoft.com
@Agazoth
Agazoth / Get-FileInfo
Created July 21, 2019 09:23
Iron Scripter july, 19 2019 - Advanced
function Get-FileInfo {
[CmdletBinding(DefaultParameterSetName='Local')]
param (
# The Path parameter takes an array of strings to query. Pipe away if desired
[Parameter(ValueFromPipeline=$true)]
[Parameter(ParameterSetName = 'Local')]
[Parameter(ParameterSetName = 'Remote')]
[string[]]
$Path,
# The ComputerName parameter takes several computernames and executes the Get-FileInfo command against them
@Agazoth
Agazoth / Get-Crypto.ps1
Created July 10, 2019 05:44
Iron Scripter 28-06-2019
param ($crypto = @"
P k T r 2 s z 2 * c F -
r a z 7 G u D 4 w 6 U #
g c t K 3 E @ B t 1 a Y
Q P i c % 7 0 5 Z v A e
W 6 j e P R f p m I ) H
y ^ L o o w C n b J d O
S i 9 M b e r # ) i e U
* f 2 Z 6 M S h 7 V u D
5 a ( h s v 8 e l 1 o W
function Remove-AdminCount
{
[CmdletBinding()]
    param ($Samaccountname)
    if (!$(Get-Module activedirectory)){import-module activedirectory}
try
    {
        $User = Get-ADUser $Samaccountname -Properties Admincount
        if ($User.Admincount -eq 1)
        {
@Agazoth
Agazoth / AddModulesToAzureFunctionApps.ps1
Last active April 5, 2019 17:16
The code nessesary to add modules to your Azure Powershell Functions without using any other tools then Powershell
try {
$NuGet = Get-PackageProvider -ListAvailable -Name Nuget -ErrorAction Stop
} Catch {
# Logging to the console in Azure gives a warm and cosy feeling and provides documentation for your scripts
Write-Output "Installing NuGet"
Install-PackageProvider NuGet -Scope CurrentUser -Force | Out-Null
}
$PSLocalModulePath = "$($env:UserProfile)\Documents\WindowsPowershell\Modules"
# Test the existance of the path, and create it, if it doesn't exist
Out-Default -InputObject @{Source=$env:COMPUTERNAME;Target=$env:COMPUTERNAME} -PipelineVariable ST | foreach {compare-object (Get-WindowsFeature -ComputerName $ST['Source']).where{$_.installed} (Get-WindowsFeature -ComputerName $ST['Target']).where{$_.installed}} | ForEach-Object {if ($_.SideIndicator -eq '<='){Install-WindowsFeature -Name $_.InputObject.Name -ComputerName $ST['Target']} elseif ($_.SideIndicator -eq '=>') {Uninstall-WindowsFeature -Name $_.InputObject.Name -ComputerName $ST['Target']}}