Skip to content

Instantly share code, notes, and snippets.

WorkerID WorkerStatus WorkerType UserID Title FirstName Initial LastName Pronouns ManagerID HireDate LeaveDate TempLeave Department Division CostCenter JobTitle StreetAddress City State ZipCode Country CountryCode OfficePhone MobilePhone
3090 Active Employee natálie.mastná Ms. Natálie C Mastná SHE/HER 20646 11/09/2017 07/23/2030 FALSE Product Marketing Electronics CC3035 Licensed clinical social worker Vakthem 6 BJÄRTRÅ 870 26 Sweden SE 0612-3686526 +51 7249890429
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:BulkRequest"
],
"Operations": [
{
"method": "POST",
"bulkId": "4a4639e0-698e-4d78-b531-ff1fa12b3e91",
"path": "/Users",
"data": {
@{
externalId = 'WorkerID'
name = @{
familyName = 'LastName'
givenName = 'FirstName'
}
active = { $_.'WorkerStatus' -eq 'Active' }
userName = 'UserID'
nickName = 'UserID'
userType = 'WorkerType'
@jkbryan
jkbryan / CreateCustomRole.ps1
Last active February 23, 2024 15:51
CreateCustomRole
Connect-MgGraph -TenantId <YourTenantID> -Scopes "RoleManagement.ReadWrite.Directory"
# Basic role information
$displayName = "Clone of Exchange Administrator"
$description = "Can manage all aspects of the Exchange product."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$allowedResourceAction =
@(
#"microsoft.directory/groups/hiddenMembers/read",
"microsoft.directory/groups.unified/create",
# Login first
Login-AzAccount
# Note that you can optionally assign an Azure role on creation,
# define the context prior to SP creation, using Set-AzContext
#
# Create Service Principle
$sp = New-AzADServicePrincipal -Role Reader -DisplayName "MyServicePrinciple"
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($sp.Secret)
$UnsecureSecret = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
# Write out the password for the SP. Make sure you keep a secure copy of this output!
@jkbryan
jkbryan / Correct-UL-Label-Priority.ps1
Last active March 6, 2020 19:35
O365 Unified Labelling - Label Priority Fixing
# Define credentials
$AdminCredentials = Get-Credential "myadmin@oholics.net"
# Create the session
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $AdminCredentials -Authentication Basic -AllowRedirection
# Import the session
Import-PSSession $Session -DisableNameChecking
# Define the tenant
$MyTenant = "CN=Configuration,CN=<TenantID>.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=FFO,DC=extest,DC=microsoft,DC=com"
# Get the priorities of all labels
$a=Get-Label
@jkbryan
jkbryan / Create-UL-Policy.ps1
Last active March 6, 2020 18:47
O365 Unified Labelling - Policy Creation
# Define credentials
$AdminCredentials = Get-Credential "myadmin@oholics.net"
# Create the session
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $AdminCredentials -Authentication Basic -AllowRedirection
# Import the session
Import-PSSession $Session -DisableNameChecking
# Define the tenant
$MyTenant = "CN=Configuration,CN=<TenantID>.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=FFO,DC=extest,DC=microsoft,DC=com"
# Get the labels to add to the policy
$Label1=Get-Label -Identity "CN=My Label,$MyTenant"
@jkbryan
jkbryan / Create-UL-Label.ps1
Created March 6, 2020 17:40
O365 Unified Labelling - Label creation
# Define credentials
$AdminCredentials = Get-Credential "myadmin@oholics.net"
# Create the session
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $AdminCredentials -Authentication Basic -AllowRedirection
# Import the session
Import-PSSession $Session -DisableNameChecking
# Define the tenant
$MyTenant = "CN=Configuration,CN=<TenantID>.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=FFO,DC=extest,DC=microsoft,DC=com"
# Create the label
New-Label -DisplayName "My Label" -Name "My Label" -Comment "This is My Label" -Tooltip "My Label Tooltip" -AdvancedSettings @{color="#32CD32"}
@jkbryan
jkbryan / Get-AzureRoleAssignments.ps1
Created April 12, 2019 20:40
Script to report on all role assignments to a subscription or optionally to look for a named users role assignments.
Connect-AzureRmAccount
$Logfile = "C:\Temp\RoleAssignmentsLog.csv"
If (Test-Path $Logfile) {
Clear-Content -Path $Logfile
}
$Subscription1 = "<SubscriptionGUID>"
$Subscription2 = "<SubscriptionGUID>"
Add-Content $Logfile "RG/Subscription,RoleDefinitionName,DisplayName,SignInName,ObjectType"
#Do first subscription top level
Set-AzureRmContext -Subscription $Subscription1
@jkbryan
jkbryan / BACKUP_AND_CLEAR_EVENTLOGS.ps1
Last active March 11, 2019 09:41
Script to first backup to file, copy to archive(s) and then clear Windows security event logs.
Param(
$computer,
[switch]$clear
)
Function DeleteOldEventLogs {
# Clear old local log files - 7 days kept
$LogdateFormat = "dd-MM-yyyy"
$Logdate = Get-Date -Format $LogdateFormat
$CleanupExec = "C:\BackupScript\DELETEOLD.PS1 -folderpath C:\Event_Logs -fileage 7 -logfile C:\Event_Logs\leanupLog_$Logdate.txt -verboselog"
Invoke-Expression $CleanupExec