Skip to content

Update Test1.yml

Update Test1.yml #42

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Test Graph PowerShell
# Controls when the workflow will run
on:
# Triggers the workflow on push request events but only for the "main" branch
push:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# Run a command to check PowerShell version
- name: Check PowerShell version
shell: pwsh
run: Write-Host $PSVersionTable.PSVersion
- name: Setup PowerShell module cache
id: cacher
uses: actions/cache@v3
with:
path: "~/.local/share/powershell/Modules"
key: ${{ runner.os }}-MicrosoftGraphBeta
- name: Install required PowerShell modules
if: steps.cacher.outputs.cache-hit != 'true'
shell: pwsh
run: |
Set-PSRepository PSGallery -InstallationPolicy Trusted
Install-Module Microsoft.Graph.Beta -ErrorAction Stop
# Coonect
- name: Connect, run the script and disconnect
shell: pwsh
env:
TenantId: ${{ secrets.TenantId }}
AppId: ${{ secrets.AppId }}
AppSec: ${{ secrets.AppSec }}
WebAppId: ${{ vars.WebAppId }}
run: |
Write-Host "Connect to Microsoft Entra ID with app ID and app secret"
$SecuredPassword = ConvertTo-SecureString -String "$env:AppSec" -AsPlainText -Force
$ClientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "$env:AppId", $SecuredPassword
#Connect-MgGraph -TenantId "$env:TenantId" -ClientSecretCredential $ClientSecretCredential -NoWelcome
Connect-MgGraph -Identity -ClientId "$env:AppId" -TenantId "$env:TenantId"
Write-Host "Loading the PowerShell script .\ConditionalAccessPolicy.ps1"
. .\ConditionalAccessPolicy.ps1
Write-Host "Running the PowerShell script"
Add-ConditionalAccessPolicy -PolicyName "Woodgrove demo - sign in risk" -AppId ${{ env.WebAppId }}
Write-Host "Disconnect from Microsoft Entra ID"
Disconnect-MgGraph | Out-Null