Skip Navigation
PuTTY vulnerability vuln-p521-bias
  • If I understand correctly, the signatures generated by PuTTY aren’t perfectly random, so if someone got a hold of a bunch of keys from a server, they could figure out the pattern. It takes about 60 keys. This affects not just PuTTY, but also FileZilla, WinSCP, TortoiseGit, and TortoiseSVN.

    In other words if you have NIST P-521 keys, or any others using 521-bit ECDSA, you should revoke them and generate new key pairs. After you update your software.

  • January 2024 monthly "What are you working on?" thread
  • I installed some security cameras around my house and set up Shinobi using an old PC. Unfortunately the PC is too old to use the built-in detectors in Shinobi. So, I took my first dive into playing around with some image detectors.

    I wrote some python to download the daily recording from old PC to a newer one with a 3080 GPU. Then checks the videos for people. It will then trim the videos to only include times were there are people in frame. It cut my the storage requirements by over 95%.

  • Display Profile Functions [OC]
    www.dowst.dev Display Profile Functions

    If you are like me and have multiple machines you work on with different profiles, it can be difficult to remember which profile contains which functions. So, I wrote a quick function that will dis…

    Display Profile Functions

    If you are like me and have multiple machines you work on with different profiles, it can be difficult to remember which profile contains which functions. So, I wrote a quick function that will display all the functions for me on start up.

    0
    Check your Azure Automation Accounts for Run As accounts before they are retired on Sept 30
    gist.github.com This script contains functions to help you identify potential runbooks still using Run As accounts.

    This script contains functions to help you identify potential runbooks still using Run As accounts. - Find-AutomationRunAsAccounts.ps1

    This script contains functions to help you identify potential runbooks still using Run As accounts.

    Azure Automation Run As Account will retire on September 30, 2023 and will be replaced with Managed Identities. Before that date, you'll need to migrate your runbooks to use managed identities.

    However, just the presence of a Run As account doesn’t mean a it is being used. Often these were just created during the automation account provisioning. This script help to determine if you are using the Run As account by search through the runbooks to find references to the Run As Account actually being called. Then finds the last time the runbook was executed. If no date is returned, then the runbook has not executed in the last 30 days.

    0
    Most and Least Verbose Programming Languages
  • For some reason their API would not return anything for assembly. I was curious to see where it would rank too,

  • Most and Least Verbose Programming Languages

    I was looking at code.golf the other day and I wondered which languages were the least verbose, so I did a little data gathering.

    I looked at 48 different languages that had completed 79 different code challenges on code.golf. I then gathered the results for each language and challenge. If a "golfer" had more than 1 submission to a challenge, I grabbed the most recent one. I then dropped the top 5% and bottom 5% to hopefully mitigate most outliers. Then came up with an average for each language, for each challenge. I then averaged the results across each language and that is what you see here.

    For another perspective, I ranked each challenge then got the average ranking across all challenges. Below is the results of that. !

    Disclaimer: This is in no way scientific. It's just for fun. If you know of a better way to sort these results please let me know.

    82
    Using Enums in PowerShell
    www.onsb.co ONSB

    Some description

    ONSB

    Enums were introduced to PowerShell in version 5.0 and can be used as a simple way to validate script and parameter input.

    0
    How to create PowerShell docs

    Go beyond comment-based help. Bring your own module and learn how to create the documentation to support it.

    0
    PowerShell Weekly for August 11, 2023

    Announcements!

    • Desired State Configuration (DSC) Planning Update \ A fun and informative blog post sharing the exciting plans and roadmap for Desired State Configuration (DSC), including plans for compatibility, transparency, cross-platform support, and more.

    Blogs, Articles, and Posts

    • Find enabled local Group Policy settings with rsop.msc and PowerShell \ When it comes to GPO troubleshooting, you might want to find settings that are configured by local Group Policy. With rsop.msc, a graphical tool is available for this purpose. However, it is generally more efficient to generate a report using gpresult.exe and evaluate it with PowerShell.
    • Your Getting Started Guide to PowerShell Approved Verbs \ Discover how to get started with PowerShell Approved Verbs to make sure your scripts and code is top-notch in this ATA Learning tutorial!
    • How to optimize and speed up your PowerShell scripts \ My best practices, tips and tricks working with PowerShell This is a blog post that is not deeply technical. I will not go deep into the tips and tricks, because you will learn this automatically when you have more experience & when you are ready. I have a seperate blog post about best practices, tips … Continue reading How to optimize and speed up your PowerShell scripts
    • PowerShell Advanced Functions: Cmdlet Bindings and Parameters \ Part 1 of this series on advanced PowerShell functions introduces the key concepts, including cmdlet bindings and common parameters like ErrorAction.

    Projects, Scripts, and Modules

    • Announcing PowerShell Crescendo 1.1.0-RC1 \ This RC contains several community requested features and fixes including improved support for PSScriptAnalyzer, improvements to error handling, and the addition of ExcludeAsArgument property.
    • Using the Microsoft Graph PowerShell SDK to Generate a Mailbox Traffic Report \ Microsoft 365 makes it easy for administrators to get mail activity usage data for users. However, if you want to know which domains are sending most mail, you need to do some work. In this article, we cover how to use cmdlets from the Microsoft Graph PowerShell SDK to create reports about user mail activity over time and the traffic sent by different domains.
    • ServerCertificateValidationCallback (or rather, collector) for .NET Core \ ServerCertificateValidationCallback (or rather, collector) for .NET Core - Get-WebCertificate.ps1
    • About Colors.md \ When I'm having a bad day, I can spend hours just fiddling with colors and recursion. Today I wrote an HslEnumerator class which is fun because if you output it to the PowerShell terminal it just goes on producing colors forever:
    • Get-AadJoinInformation.ps1 \ Get Azure AD (Entra ID) Join Information without dsregcmd

    Books, Media, and Learning Resources

    • From Cloud to Console: Harm Veenstra’s PowerShell Perspectives \ We had a cool chat with Harm Veenstra, the guy behind powershellisfun.com. We got into some neat PowerShell stuff like Out-ConsoleGridView and the -PassThru parameter. Harm also gave us the lowdown on when to quit the cloud and spilled the beans on running his blog. Plus, he shared how he keeps up with the quick mojo of the tech world. Tune in for a fun and laid-back tech talk!

    Community

    Fun

    • PSQuizMaster \ A module for creating and running quizzes to learn PowerShell - GitHub - jdhitsolutions/PSQuizMaster: A module for creating and running quizzes to learn PowerShell

    Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

    0
    Patch Tuesday 8 August 2023
  • Biggest things I'm seeing is CVE-2023-21709 for Exchange requires a PowerShell script to be run after patching. Also, CVE-2023-29328/29330 for Teams affect all devices (Windows, Mac, iOS, and Android).

  • PowerShell Weekly for August 4, 2023

    Blogs, Articles, and Posts

    • Create a Hyper-V VM to run pfSense with a PowerShell script \ In this blog post, you’ll learn how to use a PowerShell script to create a Hyper-V virtual machine (VM) toContinue Reading
    • Function cannot be created because function capacity 4096 has been exceeded for this scope \ I had a long day today when my long-running script (10 hours) gave me weird errors with Microsoft Graph for Teams. Finally, I solved my mistakes and reran the hand to see if the report would be complete this time. Surprisingly, it gave me an error I'd never seen before. "Function cannot be created because function capacity 4096 has been exceeded for this scope". The error is at least weird because it's shown on a production server where I've just a handful of PowerShell modules installed, and I've never seen it on my development machine where I've over 200 modules.
    • Things I use most in my PowerShell scripts \ Looking back at the scripts I created the last year, certain things always come back in most of them. In this blog post, I will show you a few and explain them.
    • Find Who Created a User Account in Microsoft 365 | Audit User Creations  \ In Microsoft 365, user accounts act as gateways to access resources. Unauthorized or suspicious user creations can lead to severe consequences, such as data breaches and compromises in sensitive information. Admins play a critical role in safeguarding organizational data by […]
    • Ask Jeff July 2023 \ Well, this has been a whirlwind month. I hope you accomplished much and still had time to learn a thing or two. As has been the custom here, let’s wrap up with grab bag of tips and suggestions.

    Projects, Scripts, and Modules

    Community

    • Björn Sundling. From PowerShell Developer to MVP: An Unfiltered Journey \ In our latest PowerShell Podcast, we invited Microsoft MVP Björn Sundling,  on a riveting journey from being a PowerShell developer to securing Azure DevOps repositories. With a passion for speaking seeded from his first year at PSConfEU 2015, his road to the podium wasn’t easy. The podcast was peppered with a detailed discussion on the automated scanner project PSSecretScanner. Offering insights into development technologies, this episode is a whirlwind tour of community involvement and encompasses his love of sharing knowledge.

    Fun

    • Become the TEC 2023 PowerShell Script-Off Champion \ The TEC 2023 PowerShell Challenge Champion will be known after three rounds of frenetic script coding at The Experts Conference in Atlanta on September 19, 2023. Competitors will need a working knowledge of Microsoft 365 PowerShell, including Exchange Online, Teams, and Azure AD. Being able to think on your feet and come up with working solutions to problems is possibly a more important attribute than coding genius.

    Events

    Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

    0
    PowerShell Weekly for July 28, 2023

    Blogs, Articles, and Posts

    Projects, Scripts, and Modules

    Books, Media, and Learning Resources

    Community

    • Culture, Mentoring, and Tech: A Talk with Glen Sarti \ In this episode of the PowerShell Podcast, Glen leads us on the journey of his wide-ranging career, sharing stories about his beginnings in the Powershell world and addressing his brave decision to move across the globe for his dreams. He unravels the complex world of DevOps, recounts experiences from his first talk on “DevOps, Desktop, and Odd Socks,” and offers valuable insights into building effective mentoring relationships. At the heart of the episode is his take on driving cultural change within organizations and his compelling comparison of technical versus social skills in the tech industry. This episode encapsulates numerous nuggets of wisdom from Glen, adding value and insights for listeners at all stages of their tech career.

    Fun

    • Posh v0.1.1 \ Posh is a PowerShell module that makes PowerShell more fun to work with.

    Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

    0
    What book would you recommend to explain to someone what you do for a living?
  • The book I wrote. When I first talked with the publisher he asked, "what skills would you look for in someone who wants to do your job?" And that's the premise I stuck with writing it.

  • What was the name of the precursor to the C programming language?
  • I feel down a rabbit hole, a few years ago wonder the same thing about C#. Here is what I found.

    • C# was developed in 2000 as a successor to C++. Doubling the ++ to a #.
    • C++ was developed in the early 80s as a successor to C. Adding plus (+) to a name was a common way of indicating it was an enhancement. Also ++ is the incrementing operator for C.
    • C was developed in the early 70s as a successor to the B programming language. C comes after B.
    • B was developed in 1969 and was derived from the BCPL language. Basically, B was a stripped down version of BCPL.
    • BCPL (Basic Combined Programming Language) was developed in 1967 and was a designed as an simpler version of CPL.
    • CPL (Combined Programming Language) was developed in the early 60s at Cambridge. The original name was "Cambridge Programming Language" but was changed to Combined when it was published jointly with the University of London.
  • Datalookup: Deep nested data filtering library
  • Interesting. As someone who mainly deals in PowerShell, this is very similar to the Where-Object clause and could save me some headaches when I need to work in Python.

  • "If you are happy and you know it", and what it does to your Spotify statistics.
  • From personal experience, it seems like things outside of your normal listening don't affect too much. At least in my case, my daughter making me play the Encanto soundtrack 250,000 times hasn't affected my weekly or daily playlists.

  • mikefrobbins.com How to configure Azure PowerShell global settings with the *-AzConfig cmdlets

    This article is a brief introduction designed to raise awareness about the *-AzConfig cmdlets in Azure PowerShell. These cmdlets, introduced in the Az …

    0
    Firewall Alignment Chart
  • That's pretty similar with what happened with me and the train. Kept getting random drops from a plant. I went out to investigate and everything tested perfect and the network was staying up. That was until a freight train rolled by. Turns out AT&T had run the line by shoving a piece of PVC through the gravel between two cross-ties, then running the cable through it.

  • Firewall Alignment Chart
  • I've actually had an excavator take out my network. I've also had networks taken out by forklift, train, and a semi-truck towing three other semi-trucks.

  • Moderate your Lemmy Community with PowerShell
    github.com GitHub - mdowst/Lemmy-PowerShell: A PowerShell module for interacting with Lemmy

    A PowerShell module for interacting with Lemmy. Contribute to mdowst/Lemmy-PowerShell development by creating an account on GitHub.

    GitHub - mdowst/Lemmy-PowerShell: A PowerShell module for interacting with Lemmy

    I have seen a lot of calls around Lemmy for more moderation tools. I have been working on Lemmy PowerShell module for a few weeks now, and I went ahead and released a preview version with multiple moderation tools now available. The module has the ability to perform the following tasks using a simple command line tool:

    • Search posts and comments
    • Remove a post
    • Remove a comment
    • Lock and unlock posts
    • Add and remove moderators
    • Create new posts and comments

    You can get started now by installing the module through the PowerShell gallery. Install-Module Lemmy-preview Import-Module Lemmy-preview

    If you are not familiar with PowerShell, I've include detailed instruction in the GitHub repo with lots of example. https://github.com/mdowst/Lemmy-PowerShell

    If you run into any issues please let me know either here or by submitting an Issue to the repo.

    0
    Moderate your Lemmy Community with PowerShell
    github.com GitHub - mdowst/Lemmy-PowerShell: A PowerShell module for interacting with Lemmy

    A PowerShell module for interacting with Lemmy. Contribute to mdowst/Lemmy-PowerShell development by creating an account on GitHub.

    GitHub - mdowst/Lemmy-PowerShell: A PowerShell module for interacting with Lemmy

    I have seen a lot of calls around Lemmy for more moderation tools. I have been working on Lemmy PowerShell module for a few weeks now, and I went ahead and released a preview version with multiple moderation tools now available. The module has the ability to perform the following tasks using a simple command line tool:

    • Search posts and comments
    • Remove a post
    • Remove a comment
    • Lock and unlock posts
    • Add and remove moderators
    • Create new posts and comments

    You can get started now by installing the module through the PowerShell gallery. Install-Module Lemmy-preview Import-Module Lemmy-preview

    If you are not familiar with PowerShell, I've include detailed instruction in the GitHub repo with lots of example. https://github.com/mdowst/Lemmy-PowerShell

    If you run into any issues please let me know either here or by submitting an Issue to the repo.

    0
    ugit - PowerShell Wrapper for Git
    github.com GitHub - StartAutomating/ugit: Updated Git: A powerful PowerShell wrapper for git that lets you extend git, automate multiple repos, and output git as objects.

    Updated Git: A powerful PowerShell wrapper for git that lets you extend git, automate multiple repos, and output git as objects. - GitHub - StartAutomating/ugit: Updated Git: A powerful PowerShell ...

    GitHub - StartAutomating/ugit: Updated Git: A powerful PowerShell wrapper for git that lets you extend git, automate multiple repos, and output git as objects.

    This is a pretty neat tool that allows you to use regular git commands, but captures the output as a PowerShell objects. This allows you to use the power of PowerShell pipelines to enhance your git experience.

    A couple of examples: ```

    Count logs by author

    git log | Group-Object GitUserEmail -NoElement | Sort-Object Count -Descending ```

    ```

    Delete all branches except the current and main

    git branch | Where-Object -Not IsCurrentBranch | Where-Object BranchName -NotIn 'main', 'master' | git branch -d ```

    0
    What are some examples of xkcd 2347?
  • Basically every Windows sysadmin is indebted to Mark Russinovich and SysInternals. Fortunetly, PowerToys has come a long way because I'm pretty sure sysinternals haven't been updated since Windows XP.

  • Azure AD Graph Retirement and PowerShell Module Deprecation Updates
    techcommunity.microsoft.com Important: Azure AD Graph Retirement and Powershell Module Deprecation

    Important updates on Azure AD Graph and PowerShell module timeline and future.

    Important: Azure AD Graph Retirement and Powershell Module Deprecation

    What happens to PowerShell scripts using Azure AD, Azure AD-Preview, or MS Online modules on June 30, 2023?

    There will be no impact to PowerShell scripts using these legacy modules on or after June 30, 2023. They will continue to function and be supported until deprecation announcement.

    What happens to PowerShell scripts using Azure AD, Azure AD-Preview, or MS Online modules after March 30, 2024?

    We plan to deprecate Azure AD, Azure AD-Preview, and MS Online PowerShell modules on March 30, 2024. After this date, the only support offered for these PowerShell modules will be support in migrating to Microsoft Graph PowerShell SDK. Only security fixes will be offered for these PowerShell modules after deprecation is announced. Once these modules are deprecated, they will continue to work for a minimum of six (6) months before being retired.

    0
    Recommended Blogging Platforms in 2023?
  • I've been using WordPress on Bluehost for a few years. I'm looking to move to something like Jekyll. Pretty much everything I get from WordPress can be done with a like JavaScript and Jekyll. There are plenty of examples out there of building it off of GitHub actions.

    I also do NOT recommend Bluehost. I was having issues with my site going down for no reason a while back. I contacted their support to see what was going on and they told me it wasn't on their end. And guess what, it was on their end. Ended up catching the guy in a lie. Just been trying to find the time to move everything off of them.

  • PowerShell Weekly for June 16, 2023 [OC]

    PowerShell Weekly is a hand curated list of PowerShell news, blogs, scripts, etc. that I discover each week and feel are worth passing on. In other words it is not just me reporting everything with a PowerShell hashtag.

    There is nothing to sign-up for and there are no ads. It's just my little way of giving back to the community. I also do not accept any sponsored content, but I do take recommendations and suggestions from the community, so feel free to send things my way.

    I try to get it published by 9 am US central time (2 pm UTC) each and every Friday. (Expect for the week between Christmas and New Years, I give myself that week off)

    It has been going strong for 4 years now and the entire back catalog is searchable and tagged with categories, authors, and timeframes.

    0
    Programming and Humility
  • Been there. I've written some slick code in a weekend that has run great for years. I've also spent 2 hours trying to get a button lined up properly.

  • Advice on dealing with ADHD and remote work?
  • I kind of do both. I have a powerful desktop with 4 monitors. I can't stand working on a single laptop screen unless I'm traveling. And I also want to keep work separate. So, I have my laptop sitting next to my PC and I just RDP into it. This way all 4 screens are work only stuff when I'm working. Then at the end of the day I can just disconnect the session and have my personal stuff. I also have ADHD, so I try not never leave the work session during work times. I've been working from exclusively for about 6 years now and it has been the best system I've tried.

  • Why not tell people to "simply" use pyenv, poetry or anaconda
  • I come from the windows world with a strong background in PowerShell, and this article perfectly described my experiences with Python.

    I spent 2 weekends trying to get JupyterHub up and running with the dotnet interactive kernels. And it all came down to ensuring that the right packages got installed at the right levels. Between the system, conda, and pyenv. And this is not the first time I've run into such problems.

    I know it said anaconda is the worst offender, but honestly I wish there was a similar solution for PowerShell. I love the self-contained environments. It makes experimenting so much quicker and easier. But there is a learning curve.

    And he right. I got so frustrated trying to figure out pip vs conda vs conda-forge vs pip3 vs pipx. For someone who only casually delves in python, it can be real off-putting.

    However, nothing to me is more frustrating than running into package XYZ updated and now package ABC won't load. XYZ now requires python 3.10, but ABC can only run on 3.9 and below, etc. I have rage quit more than a few projects over stuff like that.

    So, as someone who only dabbles in python, my number one suggestion is to use requirements files and put version number requirements in them. And if your project has some out of the ordinary combination and you use conda, provide a brief rundown of how to install and enable it. Those few lines in your readme could make all the difference for python noobs/hacks like me.

  • Can you trust ChatGPT’s package recommendations?
  • I've used ChatGPT and Copilot to help with PowerShell in the past. For the most part I've found it, okay. But I can definitely see how that could happen. I've had a few instances where is tried giving me cmdlets that don't exist. This means it is just taking pieces of code from someone else's project and not understanding how it all fits together. So, if I search that cmdlet there is no telling the number of results I could get from good, bad, or irrelevant sources. It would be better if it told you where that code came from. Then I could look at the original source and see if they created custom functions that these AI are considering to be built-in cmdlets.

  • Is it just me?
  • Might have to do with u/rmayayo not announcing or really saying anything

  • pwshguy pwshguy (mdowst) @programming.dev

    Father, author, blogger, enthusiast of all things PowerShell and automation. http://linktr.ee/mdowst

    Posts 29
    Comments 18
    Moderates