Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gastaccounts in Microsoft Entra ID externe gebruikers toegang verlenen tot specifieke resources, zoals bestanden, teams of sites zonder volledige leden van uw organisatie te zijn. Deze accounts worden meestal gebruikt voor samenwerking met partners, aannemers of klanten die tijdelijke toegang nodig hebben tot de resources van uw organisatie.
Het effectief beheren van gastaccounts is van cruciaal belang voor het onderhouden van de beveiliging en integriteit van de gegevens van uw organisatie. Als beheerder moet u ervoor zorgen dat gastaccounts alleen de benodigde machtigingen en toegang krijgen om de beoogde taken uit te voeren. Het regelmatig controleren en controleren van deze accounts is ook belangrijk om alle inactieve of verlopen accounts te identificeren die moeten worden verwijderd. Deze oefening helpt niet alleen om potentiële beveiligingsrisico's te verminderen, maar zorgt ook voor efficiënt gebruik van de resources van uw organisatie. Door gastaccounts goed te beheren, kunt u een veilige en productieve omgeving bieden voor externe samenwerking.
Prerequisites
Als u gastgebruikers wilt beheren met Microsoft Entra PowerShell, hebt u het volgende nodig:
- Een Microsoft Entra gebruikersaccount. Als u nog geen account hebt, kunt u gratis een account maken.
- Een van de volgende rollen:
- Microsoft Entra PowerShell-module geïnstalleerd. Volg de handleiding Microsoft Entra PowerShell-module installeren om de module te installeren.
Gastgebruikers uitnodigen
U kunt gastgebruikers uitnodigen voor uw organisatie met behulp van Microsoft Entra PowerShell. Met dit proces kunnen externe gebruikers toegang krijgen tot specifieke resources in uw organisatie zonder volledige leden te zijn. U kunt één gastgebruiker uitnodigen of meerdere gastgebruikers tegelijk uitnodigen.
Eén gastgebruikersaccount uitnodigen
Eén gastgebruiker uitnodigen voor uw organisatie met ten minste de rol Gastuitnodiger.
# Connect to Microsoft Entra
Connect-Entra -Scopes 'User.Invite.All'
#Invite the guest user
New-EntraInvitation `
-InvitedUserEmailAddress 'guestUser@contoso.com' `
-InviteRedirectUrl 'https://contoso.com' `
-SendInvitationMessage $true `
-InvitedUserDisplayName 'Guest User'
Dit script stuurt een uitnodiging naar een gastgebruiker met het e-mailadres guestUser@contoso.com en leidt deze na acceptatie naar https://contoso.com. In de volgende uitvoer ziet u de details van de uitgenodigde gastgebruiker.
Id InviteRedeemUrl
-- ---------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitation…
Meerdere gastgebruikersaccounts tegelijk uitnodigen
Gastgebruikers in bulk uitnodigen naar uw organisatie:
Het CSV-bestand voorbereiden
Maak in Microsoft Excel een CSV-bestand met de lijst met genodigde gebruikersnamen en e-mailadressen. Zorg ervoor dat u de kolomkoppen Naam en E-mail opneemt.
Maak bijvoorbeeld een werkblad in de volgende indeling:
Naam E-mail Reed Smith rsmith@contoso.com Hayden Cook hcook@fabricam.com Isabel Garcia igarcia@contoso.com
Sla het bestand op als C:\BulkInvite\Invitations.csv of een locatie van uw keuze.
Als u geen Excel hebt, kunt u een CSV-bestand maken in een teksteditor, zoals Kladblok. Scheid de waarden met een komma, en plaats elke rij op een nieuwe regel.
Maak verbinding met Microsoft Entra met ten minste de rol Gastuitnodiging.
Connect-Entra -Scopes 'User.Invite.All'
# Import the CSV file containing the invitations.
$invitations = Import-Csv -Path "c:\bulkinvite\invitations.csv"
# Define the message to be sent to the invited users.
$messageBody = "Hello. You are invited to the Contoso organization."
# Iterate over each invitation in the CSV file.
foreach ($invitation in $invitations) {
# Define the invitation parameters
$invitationParams = @{
InvitedUserEmailAddress = $invitation.Email # Ensure this matches your CSV column name
InviteRedirectUrl = "https://contoso.com"
SendInvitationMessage = $true
InvitedUserMessageInfo = @{
CustomizedMessageBody = $messageBody
}
}
# Create a new invitation using the defined parameters
New-EntraInvitation @invitationParams
}
Met dit script wordt een lijst met uitnodigingen uit een CSV-bestand geïmporteerd. Het definieert een aangepast bericht voor de uitgenodigde gebruikers en doorloopt vervolgens elke uitnodiging om een uitnodiging te verzenden naar elke gebruiker met zijn e-mailadres.
In de volgende uitvoer ziet u de details van de uitgenodigde gastgebruikers.
Id InviteRedeemUrl
-- ---------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitation…
bbbbbbbb-1111-2222-3333-cccccccccccc https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitation…
Gastgebruikersaccounts weergeven en exporteren
Gastgebruikers weergeven en exporteren:
Maak verbinding met Microsoft Entra met ten minste de rol Gastuitnodiging.
Connect-Entra -Scopes 'User.Read.All'
# Retrieve all guest user accounts.
Get-EntraUser -Filter "userType eq 'Guest'" -All -Property "displayName", "mail", "createdDateTime", "AccountEnabled" | Select-Object "displayName", "mail", "createdDateTime", "AccountEnabled"
Met het script worden alle gastgebruikersaccounts opgehaald uit Microsoft Entra ID met hun weergavenamen, e-mailadressen en aanmaakdatums, waarna de lijst met gastgebruikers wordt weergegeven.
DisplayName Id Mail createdDateTime AccountEnabled
----------- -- ---- --------------- --------------
externaluser1 externaluser1@externaldomain1.com 13/09/2024 18:37:33 True
externaluser2 externaluser2@externaldomain2.com 15/02/2024 15:05:31 True
Sponsorship voor gastgebruikers beheren
In Microsoft Entra ID kunt u met gastsponsor specifieke gebruikers of groepen aanwijzen als sponsors voor gastgebruikers, zodat ze de toegang en machtigingen van de gastgebruiker kunnen beheren. Deze functie is handig voor organisaties die de toegang van externe gebruikers willen beheren en bewaken.
Als u sponsorship voor gastgebruikers wilt beheren, kunt u een sponsor toewijzen, weergeven en verwijderen van een gastgebruiker. U hebt ten minste een gebruikersbeheerderrol nodig om deze acties uit te voeren.
Een sponsor toewijzen aan een gastgebruiker
In het volgende voorbeeld ziet u hoe u een sponsor toewijst aan een gastgebruiker in Microsoft Entra ID. U kunt de New-EntraUserSponsor cmdlet gebruiken om een sponsor toe te wijzen aan een opgegeven gastgebruiker.
Connect-Entra -Scopes 'User.ReadWrite.All'
$sponsor = Get-EntraUser -UserId 'SponsorEmail@contoso.com'
Set-EntraUserSponsor -UserId 'guestuser@contoso.com' -Type User -SponsorIds $sponsor.Id
In dit voorbeeld wordt een sponsor toegewezen aan een gastgebruiker in Microsoft Entra ID. De UserId parameter geeft de gastgebruiker op en de SponsorId parameter geeft de sponsor op.
De sponsors van een gastgebruiker weergeven
In het volgende voorbeeld ziet u hoe u de sponsors van een gastgebruiker in Microsoft Entra ID kunt bekijken. U kunt de Get-EntraUserSponsor cmdlet gebruiken om de sponsors van een opgegeven gastgebruiker op te halen.
Connect-Entra -Scopes 'User.Read.All'
Get-EntraUserSponsor -UserId 'guestuser@contoso.com' -All | Select-Object Id, DisplayName, '@odata.type', CreatedDateTime | Format-Table -AutoSize
In dit voorbeeld worden de sponsors van een gastgebruiker opgehaald in Microsoft Entra ID. De UserId parameter geeft de gastgebruiker op.
id displayName @odata.type createdDateTime
-- ----------- ----------- ---------------
aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb GuestUser Sponsor 1 #microsoft.graph.user 5/6/2025 11:29:26 PM
bbbbbbbb-1111-2222-3333-bbbbbbbbbbbb GuestUser Sponsor 2 #microsoft.graph.user 5/6/2025 11:29:27 PM
Een sponsor verwijderen uit een gastgebruiker
In het volgende voorbeeld ziet u hoe u een sponsor verwijdert uit een gastgebruiker in Microsoft Entra ID. U kunt de Remove-EntraUserSponsor cmdlet gebruiken om een sponsor van een opgegeven gastgebruiker te verwijderen.
Connect-Entra -Scopes 'User.ReadWrite.All'
$sponsor = Get-EntraUserSponsor -UserId 'SawyerM@contoso.com' | Where-Object { $_.displayName -eq 'Adele Vance (Fabrikam)' }
Remove-EntraUserSponsor -UserId 'SawyerM@Contoso.com' -SponsorId $sponsor.Id
In dit voorbeeld wordt een sponsor verwijderd uit een gastgebruiker in Microsoft Entra ID. Met UserId de parameter wordt de gastgebruiker opgegeven en met de SponsorId parameter wordt de sponsor opgegeven die moet worden verwijderd.
Inwisselingsstatus van gastgebruiker opnieuw instellen
In Microsoft Entra ID is het opnieuw instellen van de inwisselingsstatus van een gastgebruiker nodig wanneer u wilt toestaan dat de gebruiker de uitnodiging opnieuw kan inwisselen. Deze functie is handig als de gebruiker het inwisselingsproces niet voltooit of als de status om welke reden dan ook opnieuw moet worden ingesteld. In het volgende voorbeeld ziet u hoe u de inwisselingsstatus voor een gastgebruiker opnieuw instelt door ze een nieuwe uitnodiging te sturen.
Identificeer eerst de gastgebruiker en verzend een nieuwe uitnodiging: hiermee wordt de inwisselingsstatus opnieuw ingesteld door de gastgebruiker opnieuw uit te nodigen.
Connect-Entra -Scopes 'User.Invite.All'
$user = Get-EntraUser -Filter "startsWith(mail, 'johndoe@gmail.com')"
New-EntraInvitation `
-InvitedUserEmailAddress $user.Mail `
-InviteRedirectUrl "https://myapps.contoso.com" `
-ResetRedemption `
-SendInvitationMessage `
-InvitedUser $user
Gastgebruikersaccounts uitschakelen
In de volgende voorbeelden ziet u hoe u gastgebruikersaccounts uitschakelt in Microsoft Entra ID. U kunt één gastaccount uitschakelen of alle gastaccounts uitschakelen op basis van uw vereisten.
Eén gastgebruikersaccount uitschakelen
Eén gastgebruikersaccount uitschakelen:
Maak verbinding met Microsoft Entra met ten minste een gebruikersbeheerderrol:
Connect-Entra -Scopes 'User.ReadWrite.All'
# Disable the guest user account.
Get-EntraUser -Filter "userType eq 'Guest' and mail eq 'guestUser@contoso.com'" | Set-EntraUser -AccountEnabled $false
Alle gastgebruikersaccounts uitschakelen
Voer de volgende cmdlet uit om alle gastgebruikersaccounts uit te schakelen.
Connect-Entra -Scopes 'User.ReadWrite.All'
# Disable the guest user account
Get-EntraUser | Where-Object { $_.UserType -eq 'Guest' } | Set-EntraUser -AccountEnabled $false
Verlopen gastgebruikersaccounts weergeven en exporteren
Verlopen gastgebruikersaccounts weergeven en exporteren:
Vouw het vorige voorbeeld uit om gastgebruikers op te halen en elke gastgebruiker te controleren op vervaldatum. In dit voorbeeld wordt ervan uitgegaan dat gastaccounts 90 dagen na het maken verlopen.
$report = @() $now = Get-Date # Retrieve all guest users. $guestUsers = Get-EntraUser -Filter "userType eq 'Guest'" -All foreach ($guest in $guestUsers) { # Calculate the expiration date based on the creation date $guestExpirationDate = $guest.CreatedDateTime.AddDays(90) # Check if the account is expired if ($guestExpirationDate -lt $now) { # Add expired guest account details to the report $report += [PSCustomObject]@{ Id = $guest.Id Name = $guest.DisplayName Mail = $guest.Mail Expiration = $guestExpirationDate CreatedDate = $guest.CreatedDateTime } } }Exporteer het rapport naar een CSV-bestand.
$report | Export-Csv -Path "ExpiredGuestAccounts.csv" -NoTypeInformation
Verlopen gastgebruikersaccounts verwijderen
Maak verbinding met Microsoft Entra met ten minste een gebruikersbeheerderrol:
In dit voorbeeld wordt ervan uitgegaan dat gastaccounts 90 dagen na het maken verlopen.
Note
Met dit script worden alle gastgebruikers verwijderd waarvan de accounts zijn verlopen. Deze actie kan niet ongedaan worden genomen en moet voorzichtig worden gebruikt. Zorg ervoor dat u altijd een back-up of een herstelplan hebt voordat u gebruikersaccounts verwijdert.
Connect-Entra -Scopes "User.ReadWrite.All"
$age = (Get-Date).AddDays(-90).ToString("yyyy-MM-ddTHH:mm:ssZ")
Get-EntraUser -Filter "userType eq 'Guest' and createdDateTime le $age" -All | Remove-EntraUser