Skip to content

Instantly share code, notes, and snippets.

@kerard
kerard / get-unhealthy.ps1
Created June 19, 2023 13:02
get unhealthy configmgr clients
Get-CMDevice | ? {$_.ClientCheckPass -gt 1} | % {$_.name}
@kerard
kerard / resolve-fsp.ps1
Created June 19, 2023 12:42
resolve foreign security principals
#credit: https://techcommunity.microsoft.com/t5/windows-powershell/trying-to-resolve-foreignsecurityprincipal-information/m-p/3388384
([adsisearcher]::new("(objectClass=foreignSecurityPrincipal)", @("objectSid"))).FindAll() |
ForEach-Object {
$Sid = [System.Security.Principal.SecurityIdentifier]::new($_.Properties["objectSid"][0], 0); $Sid | Select-Object -Property Value, @{n="Name"; e= { $Sid.Translate([System.Security.Principal.NTAccount]) } };
}
@kerard
kerard / test-localadmin.ps1
Created June 8, 2023 17:29
test-localadmin
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
$currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
@kerard
kerard / dump-with-bcp.ps1
Last active May 9, 2023 20:53
simple bcp dump
# force named pipes connection to sql
bcp [database].[schema].[table] out c:\bcp\database_schema_table.dat -T -n -a 32576 -e c:\bcp\database_schema_table.err
# force loopback connection to sql
bcp [database].[schema].[table] out c:\bcp\database_schema_table.dat -T -n -a 32576 -e c:\bcp\database_schema_table.err -S localhost
@kerard
kerard / gen-accounts.ps1
Created March 22, 2023 13:13
simple service account name generator
for ($i = 0; $i -lt 23; $i++) {'svc-' + -join ((65..90) + (97..122) + (48..57)| Get-Random -Count 8 | foreach-object {[char]$_})}
@kerard
kerard / random-string.ps1
Created February 14, 2023 13:20
Random PS String
-join ((65..90) + (97..122) + (48..57)| Get-Random -Count 11 | % {[char]$_})
@kerard
kerard / install-gmsa.ps1
Created February 8, 2023 17:28
install-gmsa
Install-WindowsFeature RSAT-AD-PowerShell
$dc = 'domaincontroller'
$gmsas = 'gmsa1','gmsa2'
foreach ($a in $gmsas)
{
    $gmsa = Get-ADServiceAccount -Server $dc -filter "Name -eq `'$a`'"
    Install-ADServiceAccount $gmsa
    Test-ADServiceAccount -Identity $a
}
Remove-WindowsFeature RSAT-AD-PowerShell
@kerard
kerard / pfx-to-pem.sh
Created December 15, 2022 16:01
pfx-to-pem
openssl pkcs12 -in whole.pfx -out whole.pem -nodes
openssl rsa -in whole.pem -out mykey.key
openssl x509 -in whole.pem -out mycert.cer
@kerard
kerard / settings.json
Created November 28, 2022 14:39
vscode-bicepextensiondotnet
"dotnetAcquisitionExtension.existingDotnetPath": [
{"extensionId": "msazurermtools.azurerm-vscode-tools", "path": "C:\\Program Files\\dotnet\\dotnet.exe"},
{"extensionId": "ms-azuretools.vscode-bicep", "path": "C:\\Program Files\\dotnet\\dotnet.exe"}
],
@kerard
kerard / reboot-event-filter.xml
Created November 14, 2022 19:14
reboot-event-filter.xml
<QueryList>
<Query Id="0" Path="System">
<Select Path="Security">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
<Select Path="Setup">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
<Select Path="Microsoft-Windows-Kernel-Power/Diagnostic">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
<Select Path="Microsoft-Windo