Skip to content

Instantly share code, notes, and snippets.

@dsolodow
dsolodow / Start-Elevated.ps1
Last active August 29, 2015 14:07
sudo for PowerShell
Function Start-Elevated {
[CmdletBinding()]
Param (
[parameter(Mandatory = $true,ValueFromPipeline=$true,Position=0)] [String]$FilePath,
[parameter(Mandatory = $false,ValueFromRemainingArguments=$true,Position=1)] [String[]]$ArgumentList
)
Start-Process -verb RunAs @PSBoundParameters
}
New-Alias -Name 'sudo' -Value 'Start-Elevated'
@dsolodow
dsolodow / SCCM_ContentID.sql
Last active September 14, 2017 14:45
list packages, etc. with associated content id
use CM_PRI
SELECT LP.DisplayName,
CP.CI_ID,
CPS.PkgID,
CPS.ContentSubFolder
FROM dbo.CI_ContentPackages CPS
INNER JOIN dbo.CIContentPackage CP
ON CPS.PkgID = CP.PkgID
LEFT OUTER JOIN dbo.CI_LocalizedProperties LP
ON CP.CI_ID = LP.CI_ID
@dsolodow
dsolodow / start-moduleCleanup.ps1
Created March 5, 2018 14:18
cleanup installed modules
Get-InstalledModule |
ForEach-Object {
$CurrentVersion = $PSItem.Version
Get-InstalledModule -Name $PSItem.Name -AllVersions |
Where-Object -Property Version -LT $CurrentVersion
} | Uninstall-Module -Verbose
# blank prompt
set fish_greeting
# Colors:
set fish_color_normal F8F8F2 # the default color
set fish_color_command F92672 # the color for commands
set fish_color_quote E6DB74 # the color for quoted blocks of text
set fish_color_redirection AE81FF # the color for IO redirections
set fish_color_end F8F8F2 # the color for process separators like ';' and '&'
set fish_color_error F8F8F2 --background=F92672 # the color used to highlight potential errors
@dsolodow
dsolodow / Get-WheelAnswer.ps1
Created November 20, 2018 19:04
Randomly select an IT pro answer.
Function Get-WheelAnswer
{
[string[]]$wheel = (
"No.",
"Are you sure it's plugged in?",
"Move... I'll do it",
"Yes, just click OK",
"No, it's a scam, just delete it",
"The problem is on your end.",
"Yes, it's gone forever, that's what empty trash does.",
@dsolodow
dsolodow / New-UpdateHelpJob.ps1
Last active April 29, 2019 15:26
Description for New-UpdateHelpJob.ps1
<#
Creates a scheduled task to run a daily Update-Help on the local machine
#>
$trigger = New-JobTrigger -Weekly -At "7:30 AM" -DaysOfWeek "Monday"
$option = New-ScheduledJobOption -StartIfOnBattery -RequireNetwork -RunElevated
Register-ScheduledJob -Name UpdateHelp -ScriptBlock {Update-Help -Module * -Force} -Trigger $trigger -ScheduledJobOption $option
$dplog = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Microsoft\SMS\DP\Logging\@GLOBAL' -name LogDirectory
New-SmbShare -Path $dplog -Name DP_LOG
icacls $dplog /grant "domain users:(oi)rx"
@dsolodow
dsolodow / Add-TeamsFirewallRule.ps1
Created March 24, 2020 20:31
run as elevated; will create for each user who has profile on PC
<#
.SYNOPSIS
Creates firewall rules for Teams.
.DESCRIPTION
(c) Microsoft Corporation 2018. All rights reserved. Script provided as-is without any warranty of any kind. Use it freely at your own risks.
Must be run with elevated permissions. Can be run as a GPO Computer Startup script, or as a Scheduled Task with elevated permissions.
The script will create a new inbound firewall rule for each user folder found in c:\users.
Requires PowerShell 3.0.
#>
@dsolodow
dsolodow / Sign-PSScript.ps1
Created June 13, 2020 23:34
PS script sign in VSCode
Register-EditorCommand -Name SignCurrentScript -DisplayName 'Sign Current Script' -ScriptBlock {
$cert = (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)[0]
$currentFile = $psEditor.GetEditorContext().CurrentFile.Path
Set-AuthenticodeSignature -Certificate $cert -FilePath $currentFile
}
SELECT gcs.manufacturer0 AS Make
,IIF(gcs.manufacturer0 = 'Lenovo', gcsp.Version0, gcs.model0) AS Model
,COUNT(*) AS Count
FROM [CM_XXX].[dbo].[v_GS_COMPUTER_SYSTEM] gcs
INNER JOIN [CM_XXX].[dbo].[v_GS_COMPUTER_SYSTEM_PRODUCT] gcsp ON gcsp.ResourceID = gcs.ResourceID
GROUP BY Manufacturer0
,CASE
WHEN gcs.Manufacturer0 = 'Lenovo'
THEN gcsp.Version0
ELSE gcs.Model0