Blue Hippo
Blue Hippo
  • 17
  • 198 203
Managed Identity With PowerShell And Azure Automation Accounts
Join me in creating an automation account and using managed identity to connect to Azure, ExchangeOnline and Graph in this practical powershell example where we'll discuss how to connect, how to add permissions to a service principal and also a little bonus tip on how to get an access token for graph using Az and managed identity with the Get-AzAccessToken cmdlet.
The way you use managed identities in an automation account is the same as in an a powershell azure function app.
Github: github.com/BlueHippoGithub/ManagedIdentityCommands
Credit:
www.thelazyadministrator.com/2022/09/09/connect-to-exchange-online-powershell-with-an-azure-managed-identity/
techcommunity.microsoft.com/t5/azure-integration-services-blog/grant-graph-api-permission-to-managed-identity-object/ba-p/2792127
Documentation:
learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp
learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview
Chapters:
0:00 Creating Azure Resources
0:21 Installing Modules
1:09 Enabling Managed Identity
1:52 Connecting To Az, Exchange and Graph with PowerShell
3:15 Permissions for ExchangeOnline
3:46 Assign Exchange.ManageAsApp
5:10 Permissions for Az and Graph
6:18 See Permissions in Azure Portal
6:31 Test Permissions in Automation Account
Переглядів: 195

Відео

How You Can Use The Microsoft Graph API in C#
Переглядів 14 тис.8 місяців тому
Join me in taking a look at how you can use the Graph API/SDK alongside C# in your projects. In this video we'll cover how to find the calls you need to make, what permissions you'll need, how to create an entreprise application, what packes are needed and a few examples of how you can call the API using the SDK in C#. We're using a client secret to connect as an application, in case you want t...
Office 365 IMAP OAuth With C#
Переглядів 21 тис.Рік тому
Now that basic authentication has been removed from exchange online, a lot of apps have broken and need to be switched over to using OAuth 2.0, this video covers an easy and simple way of doing so in C# View the source code here: github.com/BlueHippoGithub/IMAP-OAuth-2.0-Example Codewrecks video: ua-cam.com/video/bMYA-146dmM/v-deo.html Read more about the deprecation: learn.microsoft.com/en-us/...
Reverse Proxy And Auto SSL Using Caddy And Docker Compose
Переглядів 43 тис.Рік тому
In this video we're taking a look at how to setup caddy2 with docker compose and what you need to get it up and running. We'll cover the docker compose file, how to make sure the docker network is setup properly, how to create the caddyfile and how to setup DNS and forward the ports in case you're hosting it on your own server. Docker compose file: gist.github.com/BlueHippoGithub/1a6b6569cea852...
Screenshot Any Window With C#
Переглядів 6 тис.Рік тому
This video will go over how you can use C# to manipulate the windows clipboard and take screenshots of any application you have open on your computer. Demo project | github.com/BlueHippoGithub/ScreenshotDemo Music | Dylan Sitts - Cupcake Delivery
Create Scheduled Tasks With C#
Переглядів 17 тис.2 роки тому
A short video showing how you can easily create scheduled tasks on a windows machine from C# programmatically, an example usage could be an auto updater or maybe your application registers itself to auto launch alongside the machine as an administrator. Let me know in the comments if you have suggestions for videos you'd like to see me make in the future. Task Scheduler by David Hall: github.co...
How To Use PowerShell in C#
Переглядів 23 тис.2 роки тому
A short guide on how you can quickly get started using PowerShell in C# and capture the output. If you just want to see the code, check out the project on GitHub below GitHub: github.com/BlueHippoGithub/How-to-use-PowerShell-with-C-Sharp
Stream Deck - Version 1
Переглядів 1,5 тис.2 роки тому
I used a Raspberry Pi Pico to create a "stream deck" prototype. I ended up using the standard SSD1306 OLED screens along with a multiplexer to send data to the screens as the pico "only" has 2 i2c controllers. In case you haven't already, be sure to check out the much more professional looking FreeDeck project which is where I got the idea, I just wanted to do it with a pico instead so I could ...
A Look At Automatic Setup Of The Raspberry Pi
Переглядів 1,2 тис.2 роки тому
In this video we're taking a look at how you can setup your raspberry pi(s) automatically. We're going to configure and add files on the boot section of a flashed SD card which is the section we can see on windows. github.com/BlueHippoGithub/unattended-pi-setup Song: Rival - Throne (ft. Neoni) (Lost Identities Remix) [NCS Release] Music provided by NoCopyrightSounds Free Download/Stream: NCS.io...
Send Push Notifications From Your Raspberry Pi!
Переглядів 12 тис.3 роки тому
A colleague of mine is always doing IOT and server projects, he told me about a project known as gotify which is a self hosted, open source project for sending push notifications. This is a quick overview of how to use it on a raspberry pi with python and curl. Links: Github: github.com/gotify/server API Docs: gotify.net/api-docs APP: play.google.com/store/apps/details?id=com.github.gotify
Create Your Own Voice Model - Snowboy
Переглядів 1,5 тис.3 роки тому
All commands used are in a pastebin Today we'll be taking a look generating custom voice models for use with the snowboy project. Links: github.com/seasalt-ai/snowboy pastebin.com/ZvUgZ8ah
Using Variables In Django - A Simple Example
Переглядів 1,8 тис.3 роки тому
In this video we'll explore how to use variables within django, this means we'll pass variables from python to the HTML file in the django application. This is necessary as you have all the logic in python and then show it properly using HTML. Using Python Functions in Django - ua-cam.com/video/4VHtGm-4iBw/v-deo.html
Web browser automation on a Raspberry Pi
Переглядів 4,1 тис.3 роки тому
All commands used are in the description Running selenium on a Raspberry Pi, fast and easy. Commands sudo apt-get update && sudo apt-get upgrade sudo apt-get install chromium-chromedriver pip3 install selenium sudo nano yt_selenium.py crontab -e @reboot env -i DISPLAY=:0.0 /usr/bin/python3 /home/pi/yt_selenium.py
Triggering Python Scripts With Django
Переглядів 42 тис.3 роки тому
In this video we'll explore how to use django to trigger functions within python to provide functionality such as controlling the GPIO on a pi with a website using django. Basic Django Setup - ua-cam.com/video/UmljXZIypDc/v-deo.html Song: Inukshuk - Too Far Gone [NCS Release] Music provided by NoCopyrightSounds Free Download/Stream: ncs.io/TooFarGone Watch: ua-cam.com/video/60XUgHQo71Q/v-deo.html
Raspberry Pi Headless - Connecting and uploading files with SSH & FTP
Переглядів 2,6 тис.3 роки тому
This tutorial covers the basics you need to run your pi headless. You'll learn to turn on SSH by default even before your first boot, so you never have to connect a screen, then we'll go over how to find the IP of your pi so you can connect to it with SSH and upload files with FTP. Download links to programs mentioned Nmap - nmap.org/download.html Etcher - www.balena.io/etcher/ Raspberry Pi OS ...
Using custom hotwords on a Raspberry Pi with Snowboy
Переглядів 1,9 тис.3 роки тому
Using custom hotwords on a Raspberry Pi with Snowboy
How to add syntax highlighting to your website in 6 minutes
Переглядів 7 тис.3 роки тому
How to add syntax highlighting to your website in 6 minutes

КОМЕНТАРІ

  • @Zisane21
    @Zisane21 8 днів тому

    What about sending emails? Isn't IMAP only for incoming?

    • @bluehippotech
      @bluehippotech 8 днів тому

      Yeah it is, normal SMTP still works, this approach is only for IMAP.

    • @Zisane21
      @Zisane21 8 днів тому

      @@bluehippotech didn t MS remove basic auth for SMTP? Question is: can we get the token the way you described and use it to send email? This is what the stackoverflow article with the link to this video says

    • @bluehippotech
      @bluehippotech 6 днів тому

      You can absolutely send mails with graph and an access token, what article on stack overflow are you referring to though? learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&tabs=http

  • @nifex123
    @nifex123 8 днів тому

    Thank you sir

  • @achraftalaachraf7401
    @achraftalaachraf7401 9 днів тому

    I want to retrieve data from microsoft viva using microsoftgraph api and place them on the console in c#. How is this possible ?

  • @domaine75atutube
    @domaine75atutube 14 днів тому

    thanks for your video, can you make a video on how to upload a file to a SharePoint with MSGraph in C#?

    • @bluehippotech
      @bluehippotech 14 днів тому

      Hmm that's not a bad idea for a short video. There's two graph endpoints for uploading files to sharepoint/onedrive, one for small files and one for big files

    • @domaine75atutube
      @domaine75atutube 12 днів тому

      @@bluehippotech Can you give me those two endpoints?

  • @dokgu
    @dokgu 17 днів тому

    I just need to correct two things in this guide. First, it's not the container name that you specify on your Caddyfile - it's the service name. Second, it's the container port that you specify on the Caddyfile not the host port - which means it's the one of the right side: HOST_PORT:CONTAINER_PORT. What was highlighted in this video is the host port which is incorrect.

  • @fulltimefrontend
    @fulltimefrontend 25 днів тому

    spent hours it does not work, nginx proxy manager is too easy compared to this. I have just 2 lines mapping a subdomain & an email for certificate gen, the ip:port works but caddy fails to connect my sub-domain.

  • @JNET_Reloaded
    @JNET_Reloaded Місяць тому

    can you send me the binary file put on h if you have this use which to find where it is put on github and post link without the hhtp tags parts so it dont get filtered for me

  • @JNET_Reloaded
    @JNET_Reloaded Місяць тому

    ay@jnetai:~ $ sudo apt install -y chromium-chromedriver Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package chromium-chromedriver

  • @Soraiko
    @Soraiko Місяць тому

    Using the clipboard erases the user clipboard and allocates additionnal space. System.Graphics.CopyFromScreen uses already existing memory as it's accessing to Windows Forms's swap buffer.

  • @KatoNamus
    @KatoNamus Місяць тому

    I really hope you haven't stopped making YT videos. I'm also in need of that multi tenant video, please.

  • @acislaghi
    @acislaghi Місяць тому

    What if I use Exchange Online without an Azure AD? I have a local AD...

    • @bluehippotech
      @bluehippotech Місяць тому

      That won't make a difference as long as you use exchange online for your mails

  • @ludamala2015
    @ludamala2015 Місяць тому

    Do you maybe know if I can send emails via GraphApi to recepient with email domain from third party providers like Gmail?

  • @harran9962
    @harran9962 Місяць тому

    I have not tried yet but this is brilliant, thanks for the good video editing and information. I will try it to see how it works on my side.

  • @semihcelikol7193
    @semihcelikol7193 Місяць тому

    Thank you, that's good for me.

  • @ajitsm5657
    @ajitsm5657 Місяць тому

    Thank you very much!!! this video helped me a lot :)

  • @Jamibi
    @Jamibi Місяць тому

    Thank you for this. I was going around in circles with the Microsoft documentation but this helped a lot! I'll save my resignation letter for another day!

  • @cmbowers6
    @cmbowers6 2 місяці тому

    This is what I need but stuck on New-ServicePrincipal - is not recognized as the name of a cmdlet...

    • @bluehippotech
      @bluehippotech 2 місяці тому

      You need to login using the connect-exchangeonline cmdler first, hope that helps

  • @all_handles_are_taken_
    @all_handles_are_taken_ 2 місяці тому

    Good Day . Is the TaskScheduler library safe to use?. Is it an official Microsoft library? Regards, AverageGuy

  • @larsness71
    @larsness71 2 місяці тому

    Thank you :) Nice introduction.

  • @EnginerDD
    @EnginerDD 3 місяці тому

    Volume caddy_data declared as external, but could not be found. Please create the volume manually using `docker volume create --name=caddy_data` and try again.

    • @bluehippotech
      @bluehippotech 2 місяці тому

      Yeah that happens when the volume isn't declared anywhere. If you're using docker compose you can declare it there, otherwise run the command it tells you to

  • @zulteric
    @zulteric 3 місяці тому

    Very nice and helpful. I would just like to point out to other noobs that the compose file installs the portainer. In the video you had it running before running the compose and assumed that I had to install portainer 1st.

    • @bluehippotech
      @bluehippotech 3 місяці тому

      Completely true, I'm glad you found it helpful!

  • @ActuallyThreeCats
    @ActuallyThreeCats 3 місяці тому

    Freakin lifesaver

  • @VIJAYS-qk4rq
    @VIJAYS-qk4rq 3 місяці тому

    this method is working on server run in command prompt but hosted the application in iis server after it is not triggers

  • @barnes0924
    @barnes0924 3 місяці тому

    Thanks so much for the tutorial! I was stuck for a while with no output on the console, but after looking at your code I realized I forgot the "!" in the last if statement which caused my console to output nothing.

  • @user-lj4lo7cx7m
    @user-lj4lo7cx7m 4 місяці тому

    Amazing video. Props for being str8 to the point ❤

  • @natalyverner9316
    @natalyverner9316 4 місяці тому

    Thank you! Very useful!

  • @rupeshmore80
    @rupeshmore80 4 місяці тому

    Please can you create a video on how to authenticate using delegate permission

  • @achmedycreedo
    @achmedycreedo 4 місяці тому

    Hello, I managed to create the folder but failed to create the task. It keeps giving me this error: (35,4):Task: I know it has something to do with access credential or something, but I still got nothing. Do you know how to make this work?

    • @bluehippotech
      @bluehippotech 4 місяці тому

      Is the application being ran as admin?

    • @achmedycreedo
      @achmedycreedo 4 місяці тому

      @@bluehippotech It's an ASP Web app

    • @achmedycreedo
      @achmedycreedo 4 місяці тому

      @@bluehippotech It's an ASP Web App

    • @achmedycreedo
      @achmedycreedo 4 місяці тому

      @@bluehippotech Not console app but web app

    • @bluehippotech
      @bluehippotech 4 місяці тому

      And are you running it locally on your machine in dev? If so try running it as admin.

  • @kevin_kk
    @kevin_kk 4 місяці тому

    Noob question here :0 Does Caddy have the "DNS-Proxy" feature that Cloudflare provides? I'm trying to host a docker container on port 8888 & hide my original IP while at it (Cloudflare Enterprise Spectrum Plan supports any TCP Port but is just too expensive)

  • @gradientO
    @gradientO 4 місяці тому

    Love how concise this explanation is ❤

  • @ConnorCawley
    @ConnorCawley 5 місяців тому

    Can you do a video for multitenant?

  • @myaloy
    @myaloy 5 місяців тому

    I followed your video closely and went through all the steps. I get an error in GraphHandler row 33: return await GraphClient.Users[userPrincipalName].GetAsync() Error: Microsoft.Graph.Models.ODataErrors.ODataError: 'Exception of type 'Microsoft.Graph.Models.ODataErrors.ODataError' was thrown.' but no further information. What can be done to find it and correct it. Thanks

    • @bluehippotech
      @bluehippotech 5 місяців тому

      Maybe no user could be found with said user principal name? Try returning all users instead and see if the connection works properly

    • @benjaminvenezia1944
      @benjaminvenezia1944 9 днів тому

      same error

  • @greendsnow
    @greendsnow 5 місяців тому

    wow. that's shockingly easy. but is this secure? how can I make sure of security?

    • @bluehippotech
      @bluehippotech 5 місяців тому

      What part of the setup are you referring to? The ssl certificate is let's encrypt, you only open two ports. The rest is up to the security of your network and your server. If what you're afraid of is using your own IP on a public domain you can use a hosting provider

  • @stevea1708
    @stevea1708 5 місяців тому

    Nice short and sweet. Can this easily be converted to work in a winform?

  • @rafaelavila8311
    @rafaelavila8311 6 місяців тому

    great video mate!! do you know how to add new users with licence and then add new usert to group?

    • @bluehippotech
      @bluehippotech 6 місяців тому

      Thanks for watching the video! I would suggest looking at the ms documentation, they have examples on all three of those things. learn.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0&tabs=http learn.microsoft.com/en-us/graph/api/user-assignlicense?view=graph-rest-1.0&tabs=http learn.microsoft.com/en-us/graph/api/group-post-members?view=graph-rest-1.0&tabs=http

  • @codymckinney4934
    @codymckinney4934 6 місяців тому

    how do you do it for excel

  • @Matstarx25
    @Matstarx25 7 місяців тому

    Can you use the Graph API without a paid subscription to Azure?

    • @bluehippotech
      @bluehippotech 7 місяців тому

      I'm not quite sure what the purpose would be. If you're just testing stuff you can make a dev tenant, otherwise without a subscription it would be empty

  • @puntoad6706
    @puntoad6706 7 місяців тому

    Great Video!, Can you do a video creating a folder in One Drive with Microsoft Graph?

    • @bluehippotech
      @bluehippotech 6 місяців тому

      Thanks for the kind words! In graph, onedrive is just the same as sharepoint so i would suggest taking a look at creating a folder in SharePoint with the graph api as shown in the below documentation. learn.microsoft.com/en-us/graph/api/driveitem-post-children?view=graph-rest-1.0&tabs=http

  • @jeevarp5562
    @jeevarp5562 7 місяців тому

    Hi Brother . I have a doubt about AZURE AD AUDITLOG read all So, In My code I am trying to get my auditlog and store in local through that I done successfully (ONLY i enable auditlog.read.all -> permission enable in azure give grant consent all are done bby azure portal) But what I want is , I need to give permission through my code while fetching subscription and app details id like that stuff. SO i give permission in my C# Code then, I get audit lof.

  • @sanseverino1833
    @sanseverino1833 7 місяців тому

    This was a great video, I would like to see a video on multi tenant supported app registrations.

  • @troczynskia
    @troczynskia 7 місяців тому

    Thank you,🙏 your tutorial helped me a lot!

  • @peterbates4696
    @peterbates4696 8 місяців тому

    How do I get all of the columns in a SharePoint list and their data? . Thank you

    • @bluehippotech
      @bluehippotech 8 місяців тому

      You would get the list using graph, the documentation on lists in SharePoint is quite good. learn.microsoft.com/en-us/graph/api/list-get?view=graph-rest-1.0&tabs=csharp

  • @SubligYT
    @SubligYT 8 місяців тому

    thanks for this video! if i want to update caddy and portainer i would just do a "docker-compose up --force-recreate --build -d" and everything should run like before besides different container ids?

    • @bluehippotech
      @bluehippotech 8 місяців тому

      Yeah it should, if the caddy file and everything is working it will run as before unless there's a version change that has broken something

  • @KrazyKaiser
    @KrazyKaiser 8 місяців тому

    I'm very close to having it figured out. I still have to type in the specific port I want to reach after my domain name instead of a url.

    • @bluehippotech
      @bluehippotech 8 місяців тому

      By default your browser will assume webpages to be on port 80 for http and 443 for https. That might be the reason you're stuck with having to write the port number?

  • @matt.604
    @matt.604 8 місяців тому

    It seems Microsoft renamed Azure Active Directory admin center to Microsoft Entra. You may need to look in "All admin centers" Then in Entra, Identity -> Applications -> App registrations

  • @ammarwaseem1040
    @ammarwaseem1040 8 місяців тому

    LOVE YOU

  • @user-wk6dm9lz5y
    @user-wk6dm9lz5y 8 місяців тому

    how to set up this for local access only

    • @bluehippotech
      @bluehippotech 8 місяців тому

      When setting up the dns part you can use the local ip instead

  • @gustavofernandes187
    @gustavofernandes187 8 місяців тому

    Hello friend, your video was the most useful I found about TaskScheduler. But I have a really crazy problem here, maybe you can help me: How can I set "When executing the task, use the following user account:" just "Users"? Currently I can put the current user but that's not what I want, I want the task to be independent of the logged in user, something I can do manually, but do you know of any way to do this via C#? If you can help me, thank you in advance! If you can help me and need details, I am at your disposal.

    • @bluehippotech
      @bluehippotech 8 місяців тому

      I'd recommend doing it manually and then exporting the task as xml, then you can use that in the C# code

    • @gustavofernandes187
      @gustavofernandes187 8 місяців тому

      @@bluehippotech thank you very much for the recommendation.

  • @viko3213
    @viko3213 9 місяців тому

    Working like a charm, perfect, thank you.

  • @jps9355
    @jps9355 10 місяців тому

    Great Video! It really helped me build an automatic task directly from C# and to delete it, when i could not set worker services to work! Thanks!

    • @bluehippotech
      @bluehippotech 10 місяців тому

      I'm glad it helped, thanks for watching and for the kind words!