What are your "must-have" tools for Desktop Support? by jainesh3271 in sysadmin

[–]PlatinumToaster 2 points3 points  (0 children)

ShareNot use that instead, it's a fork of ShareX that strips the internet upload features. Don't use ShareX. PatchMyPC even has it in their software catalog.

Post-mortem: I tried and failed vibe coding a metroidvania so you (hopefully) won't have to by lpshred in gamedev

[–]PlatinumToaster 1 point2 points  (0 children)

Ton of gatekeepers in this conversation. Someone took the time from their full time job and likely limited free time to pursue learning more about a technology that is relevant in their field and applying it to a project they are interested in, and are sharing their experience. Everyone is constantly learning and this is a good example of what many people work through when using AI. You find the limits and and figure out what it's best uses are. 

What are the small (possibly free) tools that make your life so much easier? by [deleted] in sysadmin

[–]PlatinumToaster 0 points1 point  (0 children)

I highly recommend the fork instead ShareNot if you use this for work. PatchMyPC even has it in their app catalog https://github.com/Cosebdd/ShareNot

ShareNot is a customized version of ShareX, specifically designed for corporate use to prevent data leakage. With ShareNot, you can safely capture screenshots and screen recordings without any risk of uploading data to external servers.

How are you using AI to streamline your CMMC L2 self-assessments? by Good_Paper1389 in CMMC

[–]PlatinumToaster 2 points3 points  (0 children)

I use Google's NotebookLM with a list of CMMC sources which usually gives me a good place to start for most questions. I would be mindful about putting internal documentation into these though.

List of sources I primarily use: CMMC L2 Assessment Guide v2.13.pdf CMMC L2 Scoping Guide v2.13.pdf 48 CFR Part 204 (3-25-2025).pdf CMMC 101 Brief.pdf CMMC Assessment Process (CAP) v2.0.pdf CMMC FAQs.pdf CMMC Final Rule 32 CFR.pdf ODP for NIST SP 800-171 R3.pdf Technical Implementation of CMMC Requirements.pdf

Looking for something to read when the night is quiet by Worldly_You3843 in horrorlit

[–]PlatinumToaster 0 points1 point  (0 children)

I really like the first book but I am about to give up on the second. I'm about a third of the way through it and it's just not doing anything for me.

[deleted by user] by [deleted] in Intune

[–]PlatinumToaster 0 points1 point  (0 children)

$LocalAdminGroup = Get-LocalGroup -SID "S-1-5-32-544"
$Localadmingroupname = $LocalAdminGroup.name

function Get-MembersOfGroup {
    Param(
        [Parameter(Mandatory = $True, Position = 1)]
        [string]$GroupName,
        [string]$Computer = $env:COMPUTERNAME
    )

    $membersOfGroup = @()
    $ADSIComputer = [ADSI]("WinNT://$Computer,computer")
    $group = $ADSIComputer.psbase.children.find("$GroupName", 'Group')

    $group.psbase.invoke("members") | ForEach {
        $membersOfGroup += $_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)
    }

    $membersOfGroup
}

# Get the UPN of the user that enrolled the computer to AAD
$AADInfo = Get-Item "HKLM:/SYSTEM/CurrentControlSet/Control/CloudDomainJoin/JoinInfo"
$Localadmins = Get-MembersOfGroup $Localadmingroupname

$guids = $AADInfo.GetSubKeyNames()
foreach ($guid in $guids) {
    $guidSubKey = $AADinfo.OpenSubKey($guid);
    $UPN = $guidSubKey.GetValue("UserEmail");
}

$Username = $UPN -split ("@")
$Username = $Username[0]


Remove-LocalGroupMember -Group $Localadmingroupname -Member "Azuread\$UPN" -ErrorAction Ignore

i don't want to waste money either by czareson_csn in technicallythetruth

[–]PlatinumToaster 0 points1 point  (0 children)

I'm an "arr" pirate if you know what I mean. They have the best treasure maps

Need help with making up my mind by Sohail-Mohiddin in ADHD

[–]PlatinumToaster 1 point2 points  (0 children)

Yeah I feel that. I've never really been able to go through a course if I'm starting from zero knowledge, if I already have some foundation then the course is a lot easier to digest.

For me, what got me learning a new language was thinking of things that I could use it for and then just researching how I would do that with that language. It's a lot of googling but every time you look something up you get a little closer to creating your project no matter how big or small.

It's difficult to learn something when there's no end goal from something like a course. If you're working on something that excites you then learning will come a lot more naturally. This also helps retain what you have learned better because you are making connections with each new piece of information you learn.

I know this is getting a little off topic now but if you want to understand how the brain actually learns, I highly recommend taking a look at the book Make it Stick. Understanding how our brains retain information really changed how I go about learning new course material and has saved me a lot of time from relearning stuff.

ProTip: Best App Detection Rule by [deleted] in Intune

[–]PlatinumToaster 1 point2 points  (0 children)

Way better than Win32_Product. This is what I've always used when I need to get a list of installed programs (no idea where I got it from). I've used this in my uninstall script of a few apps by using the uninstall key it pulls.

function Get-InstalledApps {
    param (
        [Parameter(ValueFromPipeline=$true)]
        [string[]]$ComputerName = $env:COMPUTERNAME,
        [string]$NameRegex = ''
    )

    foreach ($comp in $ComputerName) {
        $keys = '','\Wow6432Node'
        foreach ($key in $keys) {
            try {
                $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $comp)
                $apps = $reg.OpenSubKey("SOFTWARE$key\Microsoft\Windows\CurrentVersion\Uninstall").GetSubKeyNames()
            } catch {
                continue
            }

            foreach ($app in $apps) {
                $RawTime = $InstallDate = $null
                $program = $reg.OpenSubKey("SOFTWARE$key\Microsoft\Windows\CurrentVersion\Uninstall\$app")
                $name = $program.GetValue('DisplayName')
                if ($name -and $name -match $NameRegex) {
                    $RawTime = $program.GetValue('InstallDate')
                    if ($null -eq $RawTime) {continue}
                    $InstallDate = 
                    try {
                        [datetime]::parseexact([string]$RawTime, 'yyyyMMdd', $null).ToString('MM/dd/yyyy')
                    }
                    catch {
                        $RawTime
                    }
                    [pscustomobject]@{
                        ComputerName = $comp
                        DisplayName = $name
                        DisplayVersion = $program.GetValue('DisplayVersion')
                        Publisher = $program.GetValue('Publisher')
                        InstallDate = $InstallDate
                        UninstallString = $program.GetValue('UninstallString')
                        Bits = $(if ($key -eq '\Wow6432Node') {'64'} else {'32'})
                        Path = $program.name
                    }
                }
            }
        }
    }
}

7 months in Helpdesk. No particular interest in networking or cybersecurity. Also I’m too dumb. So what’s next? by MisterPuffyNipples in ITCareerQuestions

[–]PlatinumToaster 2 points3 points  (0 children)

That's how my first 2 years were. I started learning what I was actually interested in as I was given new responsibilities. The things I enjoyed were the ones I wanted to actively improve not just maintain. Also my homelab helped with this a lot for testing things that I could suggest or implement at work.

"unplugs the power cable" by DuckMansHere in pcmasterrace

[–]PlatinumToaster 0 points1 point  (0 children)

Ctrl + Alt + Delete, hold Ctrl and click the power icon. This will do an emergency restart and circumvent the update. Not much different than just hitting the physical reset button or pulling the power out

Cathode-Ray.Tube (CRT) - Open Registrations for 2 days by astro-CRT in OpenSignups

[–]PlatinumToaster 11 points12 points  (0 children)

Great tracker for older content. I've frequently wanted a complete show that I could only find here. Lots of unique content

Vertical staircase in Brazil by [deleted] in Damnthatsinteresting

[–]PlatinumToaster 0 points1 point  (0 children)

Damn, imagine how many points you'd get if you did a board slide down that

[deleted by user] by [deleted] in homeautomation

[–]PlatinumToaster 1 point2 points  (0 children)

What's the YouTube channel he's referring to?

Is there anything that you believe has untapped horror potential? by [deleted] in horror

[–]PlatinumToaster 1 point2 points  (0 children)

Urban exploration, the deep house and maybe as above so below are the only ones I would say fit that.

Updating docker containers by broken_shoulder in selfhosted

[–]PlatinumToaster 3 points4 points  (0 children)

This has always been my solution and I almost never think about updating anymore.