• 0 Posts
  • 89 Comments
Joined 1 year ago
cake
Cake day: July 10th, 2023

help-circle
  • This blog does a fairly straight-forward job on explaining the basics. For me, I learn best in an interactive 1:1 or well-constructed video, so ChatGPT was priceless. I could ask it stupid questions all day long, and after throwing some different ideas around I started to see the essential parts and just let my prior knowledge of PS, .NET, and C# WPF take it from there.

    At the end of the day, all that really matters is using the PresentationFramework assembly and creating a window:

    • Add-Type -AssemblyName PresentationFramework
    • Either use Visual Studio > WPF Project and make the UI you want. Take the XAML file and use PowerShell to get the raw content:
      • $Xaml = Get-Content -Path MainWindow.xaml -Raw
      • $SanitizedXaml = $Xaml -replace “bad syntax e.g. Foreground={x:Null}” "Foreground=“Transparent” # Certain XAML syntax is incompatible with PS XML
      • [xml]$XmlReader = [System.Xml.XmlNodeReader]::new($SanitizedXaml)
      • $Window = [Windows.Markup.XamlReader]::Load($XmlReader)
    • Or, use .NET-style syntax in PS directly:
    • Then show the window:
      • $Window.ShowDialog() | Out-Null


  • Python is always something I intend to learn but never get around to. Does it natively handle GUI for process tooling or does it require a third party? What makes PowerShell so useful to me is the native ability to create visual applications without the need to compile. I can create tools for my company that launches right out of ConfigMgr Software Center and other technicians can contribute without needing a programming background.

    At home I want to mess around with tooling for home services without having to resort to web development.


  • By far it’s the object pipeline. Having structured data makes it easy to automate workflows in a predictable way. With bash everything is a string, so everything has to be parsed. It’s tedious.

    It took about a year of steady use before I came to enjoy the syntax. It shines in a production environment with other cooks in the kitchen. I never got into the C style, I like my code human readable at a glance. It’s fine if everyone’s a sage but we have a team with a mixture of skill levels and for me PowerShell gets it right.








  • I hear a lot about those distros around here. I recently settled on openSUSE Tumbleweed after having used Fedora and ZorinOS for a while. It’s so good, I haven’t thought about switching to anything else. Manjaro, Pop_os, and NixOS are on my list if that ever changes.

    I like AppImage a lot and I wonder why that didn’t take off like Flatpak did. A timing issue, perhaps?



  • Appx is locked down tight on purpose. It’s built to be a more secure application platform than exe.

    Not saying it’s right and you should have to deal, but that’s why.

    Editing to say I also went Linux last year and I love it far too much to ever go back to Windows. Flatpaks are similar to AppX but at least you can customize the permissions for them. Still I find them to be a bit of a pain to use for some apps.








  • discusseded@programming.devtoCurated Tumblr@sh.itjust.works"Twy Edge Pwetty Pwease"
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    3 months ago

    Run a PowerShell session as admin and enter the following commands:

    Get-AppxProvisionedPackage -Online | Where-Object { $_.PackageName -match “OneDrive” } | Remove-AppxProvisionedPackage -Online -AllUsers

    Get-AppxPackage -AllUsers | Where-Object { $_.Name -match “OneDrive” } | Remove-AppxPackage -AllUsers

    Might be easier to do this in PowerShell ISE so you can edit these two commands. But this will first remove the installer package for OneDrive so that it can’t reinstall again, and then it removes the installed app from all profiles.

    I haven’t personally tested this, but I use PowerShell professionally and the commands are solid. If it didn’t work then it just means that Microsoft packaged OneDrive in a different manner than the other built-in apps. You can also remove other annoying apps that are pre-loaded this way. Just swap out “OneDrive” for the proper name or partial proper name of the appx app. Use Get-AppxPackage by itself to learn what the proper names are for the apps that are installed.