Skip to content

Instantly share code, notes, and snippets.

@JPRuskin
JPRuskin / Convert-ControlSaveFiles.ps1
Last active Aug 28, 2020
A quick script to copy Remedy's Control saves from Epic's save location to Steam.
View Convert-ControlSaveFiles.ps1
<#
.Synopsis
Copies save data from the EGS version of Remedy's Control to Steam's save location.
.Description
Old save files appear to be in a file structure similar to:
%LocalAppData%\Remedy\Control\Default-Epic-User\savegame-slot-00\global.chunk
Save files for the Steam version seem to be in the format:
Steam\userdata\<user-id>\870780\remote\savegame-slot-00_global (no extension)
@JPRuskin
JPRuskin / AzureLogContainerCreation.ps1
Created May 29, 2020
Functions to create immutable containers in Azure, for the purpose of log storage
View AzureLogContainerCreation.ps1
function Add-AzStorageAccount {
<#
.Synopsis
This function creates a standardised storage account in the ResourceGroupName
.Example
Add-QmAzStorageAccount -ResourceGroupName AUSC1-FRG -Name ausc1frgdiagag3249b -Location "uscentral"
#>
[CmdletBinding()]
param(
@JPRuskin
JPRuskin / AzRestBuildHelper.psd1
Created Apr 21, 2020
Quick Azure DevOps REST API build helper stuff
View AzRestBuildHelper.psd1
@{
ModuleVersion = '0.1.0'
# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @(
)
# Exports. Populated by Optimize-Module during the build step.
# For best performance, do not use wildcards and do not delete these entry!
@JPRuskin
JPRuskin / ConvertTo-ProductKey.ps1
Last active Apr 5, 2020
Should output the Windows product key
View ConvertTo-ProductKey.ps1
function ConvertTo-ProductKey {
[CmdletBinding()]
param(
[byte[]]$Key,
[switch]$Validate
)
end {
$KeyOffset = 52
[char[]]$Chars = "BCDFGHJKMPQRTVWXY2346789"
$KeyOutput = ""
@JPRuskin
JPRuskin / Invoke-ModifiedTests.ps1
Created Mar 13, 2020
Gets a list of changed files in a given repository directory and runs tests that match them.
View Invoke-ModifiedTests.ps1
function Invoke-ModifiedTests {
<#
.Synopsis
Gets a list of changed files in a repository, and run every changed test and test matching a changed function/file
.Description
This assumes that each file has a matching .Tests.ps1 file, suited for running with Pester. It also ignores Integration tagged tests.
.Example
Invoke-ModifiedTests -Repository C:\Source\Module
View Export-PfxFromAzureKeyVault
using namespace Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters
function Export-PfxFromAzureKeyVault {
<#
.Synopsis
Exports a PFX file from an Azure KeyVault Certificate
.Example
Export-PfxFromAzureKeyVault -VaultName TestVault -Name TestCert -Password $SecurePW -Path C:\Temp\TestCert.pfx
#>
View Invoke-AzVMScript
using namespace Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters
function Invoke-AzVMScript {
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ResourceGroupCompleter()]
[string]$ResourceGroupName,
[Parameter(Mandatory)]
View CoverageConverter.ps1
class fileregion {
hidden [string]$OriginalFilePath
[string]$RelativeFilePath
[int]$StartLine
[int]$EndLine
}
function Get-FileRegions {
param(
[string[]]$Path
@JPRuskin
JPRuskin / Export-Variable.ps1
Created May 3, 2019
Export and Import Variables between PowerShell sessions (naive)
View Export-Variable.ps1
# function Export-Variable {
[CmdletBinding()]
param(
[ArgumentCompleter({
param($CommandName, $ParameterName, $WordToComplete, $CommandAst, $BoundParams)
$Current = $BoundParams.Name
(Get-Variable).Name.Where({$_ -like "*$($WordToComplete)*" -and $_ -notin $Current})
})]
[Parameter(ValueFromPipeline, ValueFromPipelineByPropertyName)]
[string[]]$Name,
@JPRuskin
JPRuskin / Add-AzureModule.ps1
Last active May 29, 2019
Function/Script to add a saved module from C:\Modules, as the AzureDevOps build machines seem to. Worked into the SimpleAzureModule module.
View Add-AzureModule.ps1
function Add-AzureModule {
[CmdletBinding(DefaultParameterSetName="Calculated")]
param(
[Parameter(ParameterSetName="Calculated", Position=0)]
[ArgumentCompleter({
param($CommandName, $ParameterName, $WordToComplete, $CommandAst, $BoundParams)
(Get-ChildItem C:\Modules\).Where({$_ -like "*$WordToComplete*_*"}).Name | %{$_.Split('_')[0]} | Sort-Object -Unique
})]
[string]$Name,
You can’t perform that action at this time.