Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #
- # Meny
- while (1 -eq 1)
- {
- Invoke-Expression -Command clear
- write-host ' ' -background "black" -foreground "white"
- write-host ' Office 365 - Användbara powershell script ' -background "black" -foreground "white"
- write-host ' av: pelu15 och mast32 ' -background "black" -foreground "white"
- write-host ' ' -background "black"
- write-host ' ----Anslutning-----------------------------------------v1.0 ' -background "black" -foreground "green"
- write-host ' 1) Logga in ' -background "black" -foreground "yellow"
- write-host ' 2) Finns det en aktiv session ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' 5) Kontrollera vilken server användaren ligger på ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' ----Lösenord----------------------------------------------- ' -background "black" -foreground "green"
- write-host ' 10) Skapa nytt lösen för tenant Admin (LOGGA IN SOM PARTNER)' -background "black" -foreground "red"
- write-host ' 11) Skapa nytt tillfälligt lösenord på valt konto ' -background "black" -foreground "yellow"
- write-host ' 12) Kontrollera policy för "expire password" ' -background "black" -foreground "yellow"
- write-host ' 13) Ställ in så att lösenordet aldrig går ut ' -background "black" -foreground "yellow"
- write-host ' 14) Ställ in så att lösenordet går ut ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' ----Användare/Distributionsgrupper------------------------- ' -background "black" -foreground "green"
- write-host ' 20) Lista alla Distributionsgrupper ' -background "black" -foreground "yellow"
- write-host ' 21) Kontrollera medlemmar i Distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' 22) Skapa distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' 23) Ta bort distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' 24) Lägg till medlem i distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' 25) Ta bort medlem från distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' 26) Ge användare SendAs rättighet från distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' 27) Ta bort SendAs rättighet från distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' 28) Acceptera mail utanför organisationen ' -background "black" -foreground "yellow"
- write-host ' till Distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' 29) Acceptera INTE mail utanför organisationen ' -background "black" -foreground "yellow"
- write-host ' till Distributionsgrupp ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' ----Användare/Delad brevlåda------------------------------- ' -background "black" -foreground "green"
- write-host ' 40) Skapa delad brevlåda ' -background "black" -foreground "yellow"
- write-host ' 41) Ta bort delad brevlåda ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' 42) Ge användare SendAs rättighet från delad brevlåda ' -background "black" -foreground "yellow"
- write-host ' 43) Ta bort SendAs rättighet från delad brevlåda ' -background "black" -foreground "yellow"
- write-host ' ' -background "black"
- write-host ' ----Avsluta------------------------------------------------ ' -background "black" -foreground "green"
- write-host ' 80) Logga ut ' -background "black" -foreground "red"
- write-host ' 90) Exit ' -background "black" -foreground "red"
- write-host ' ' -background "black"
- write-host ' ----------------------------------------------------------- ' -background "black" -foreground "green"
- write-host ''
- $val = read-host ' Ange val'
- if ($val -eq 1,2,5,10,11,12,13,14,20,21,22,23,24,25,26,27,28,29,40,41,42,43,80,90)
- {
- continue
- }
- switch ($val)
- {
- # Logga in på ps.outlook.com/powershell
- 1{
- Invoke-Expression -Command clear
- write-host
- $Credential = Get-Credential
- $PSSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Credential -Authentication Basic -AllowRedirection
- Import-PSSession -Session $PSSession
- import-module MSOnline
- connect-MSOLService -credential $Credential
- write-host
- }
- # Kontrollera om det finns en aktiv PSSession
- 2{
- write-host
- Get-PSSession | FL Id,Name,State,Availability | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- # Kontrollera vilken server användaren ligger på
- 5{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Kontrollera vilken server användaren är kopplad till (skriv in full e-post adress)' -Foreground Yellow
- write-host
- $mailboxUser = read-host 'Användare'
- Get-mailbox -Identity $mailboxUser | Select ExchangeGUID | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- # Skapa nytt tenant
- 10{
- # check a valid partner session
- write-host
- write-host 'State the domain to generate a new admin password for:' -Foreground Yellow
- write-host
- $Domain = Read-Host "Domain"
- Invoke-Expression -Command clear
- # tajgoren edited, missing cmd? removing in favor of a more lax domain check
- # if($Domain -ne "" -and (Get-MsolPartnerContract -DomainName $Domain | measure).Count -eq 1)
- if($Domain -ne "")
- {
- $Assembly = Add-Type -AssemblyName System.Web
- $TenantPass = [System.Web.Security.Membership]::GeneratePassword(15,3)
- $TenantSecurePass = New-Object Security.SecureString
- $TenantPass.ToCharArray() | % { $TenantSecurePass.AppendChar($_) }
- $TenantId = (Get-MsolPartnerContract -DomainName $Domain).TenantId
- $TenantAdmin = (Get-MsolUser -TenantId $TenantId | Where-Object {$_.UserPrincipalName -like "admin@*.onmicrosoft.com"}).UserPrincipalName
- Set-MsolUserPassword -UserPrincipalName $TenantAdmin -ForceChangePassword $false -NewPassword $TenantPass -TenantId $TenantId | Out-Null
- Write-Host "Tenant Admin: $TenantAdmin"
- Write-Host "Password: $TenantPass"
- Write-Host
- read-host 'Tryck på enter för att fortsätta...'
- }
- else
- {
- write-host
- write-host 'Felaktig domän.' -Foreground Yellow
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- # tajgoren, extra wait for input
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Generera nytt lösenord för användare
- 11{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Skriv in full e-post adress på användaren som du vill skapa ett tillfälligt lösenord på' -Foreground Yellow
- write-host
- $mailboxUser = read-host "Användare"
- write-host
- Set-MsolUserPassword –UserPrincipalName $mailboxUser | Out-String
- write-host
- write-host 'Skriv ned lösenordet som skapades, du kommer inte kunna se det på nytt igen!' -Foreground Red
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- # Kontrollera om lösenordet måste bytas ut efter en tid eller inte
- 12{
- Invoke-Expression -Command clear
- write-host
- Get-MsolUser | Select UserPrincipalName,PasswordNeverExpires | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- 13{
- # Ställ in så att lösenordet aldrig går ut
- Invoke-Expression -Command clear
- write-host
- $mailboxUser = read-host "Användare"
- write-host
- Set-MsolUser -UserPrincipalName $mailboxUser -PasswordNeverExpires $true | Out-String
- Get-MsolUser -UserPrincipalName $mailboxUser | Select UserPrincipalName,PasswordNeverExpires | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- 14{
- # Ställ in så att lösenordet går ut
- Invoke-Expression -Command clear
- write-host
- $mailboxUser = read-host "Användare"
- write-host
- Set-MsolUser -UserPrincipalName $mailboxUser -PasswordNeverExpires $false | Out-String
- Get-MsolUser -UserPrincipalName $mailboxUser | Select UserPrincipalName,PasswordNeverExpires | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- # Kontrollera vilka distributionsgrupper som redan finns
- 20{
- Invoke-Expression -Command clear
- write-host
- Get-DistributionGroup | FL DisplayName,Name,PrimarySmtpAddress,GroupType | out-string
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Kontrollera medlemmarna för Distributionsgrupp
- 21{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Kontrollera vilka medlemmar som är med Distributionsgruppen' -Foreground Yellow
- write-host
- $distributionMailbox = read-host 'Distributionsgrupp '
- write-host
- Get-DistributionGroupMember -Identity "$distributionMailbox" | FL Name,RescipientType | Out-String
- #Get-MailboxPermission * | where { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like "NULL SID")} | Select Identity, user, AccessRights | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Skapa en Distributionsgrupp.
- 22{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange namnet på den distributionsgrupp som du vill skapa' -Foreground Yellow
- write-host '2. Vilken domän ska vi använda till distributionsgruppen' -Foreground Yellow
- write-host '3. Lägg till beskrivning för distributionsgruppen' -Foreground Yellow
- write-host
- $distributionName = read-host "Namn på Distributionsgrupp"
- $distributionMailbox = read-host "Primär e-post adress"
- $distributionMailboxNotes = read-host "Beskrivning"
- write-host
- New-DistributionGroup -Name $distributionName -Type "Security" -PrimarySmtpAddress $distributionMailbox -notes $distributionMailboxNotes -Confirm:$False | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ta bort vald Distributionsgrupp
- 23{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange namnet på distributionsgruppen som du vill ta bort' -Foreground Yellow
- write-host
- $distributionMailbox = read-host "Distributionsgrupp"
- write-host
- Remove-DistributionGroup $distributionMailbox | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Lägg till medlem i distributionsgrupp
- 24{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange först vilken distributionsgrupp' -Foreground Yellow
- write-host '2. Vilken medlem/användare vill du lägga till distributionsgruppen' -Foreground Yellow
- write-host
- $distributionMailbox = read-host 'Distributionsgrupp'
- $mailboxUser = read-host 'Användare'
- Add-DistributionGroupMember -Identity "$distributionMailbox" -Member "$mailboxUser" -BypassSecurityGroupManagerCheck
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ta bort medlem från distributionsgrupp
- 25{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange först vilken distributionsgrupp' -Foreground Yellow
- write-host '2. Vilken medlem/användare vill du ta bort från distributionsgruppen' -Foreground Yellow
- write-host
- $distributionMailbox = read-host 'Distributionsgrupp'
- $mailboxUser = read-host 'Användare'
- Remove-DistributionGroupMember -Identity "$distributionMailbox" -Member "$mailboxUser" -Confirm:$False | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ge användare SendAs rättighet från distributionsgrupp
- 26{
- Invoke-Expression -Command clear
- write-host '1. Ange först vilken distributionslåda du vill redigera' -Foreground Yellow
- write-host '2. Vilken användare ska få denna SendAs åtkomst' -Foreground Yellow
- write-host
- $distributionMailbox = read-host "Distributionsgrupp"
- $mailboxUser = read-host "Användare"
- write-host
- Add-RecipientPermission $distributionMailbox -AccessRights SendAs -Trustee $mailboxUser | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ta bort SendAs rättighet från distributionsgrupp
- 27{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange först vilken distributionsgrupp du vill redigera' -Foreground Yellow
- write-host '2. Vilken användare ska inte längre få SendAs rättighet från distributionsgrupp' -Foreground Yellow
- write-host
- $distributionMailbox = read-host "Distributionsgrupp"
- $mailboxUser = read-host "Användare"
- write-host
- Remove-RecipientPermission $distributionMailbox -AccessRights SendAs -Trustee $mailboxUser -Confirm:$False | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Gör så att distributionsgruppen kan få mail utifrån organisationen
- 28{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Vilken distributionsgrupp gäller det' -Foreground Yellow
- write-host
- $distributionMailbox = read-host "Distributionsgrupp"
- write-host
- Set-DistributionGroup -Identity "$distributionMailbox" -RequireSenderAuthenticationEnabled $False | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Gör så att distributionsgruppen inte få mail utifrån organisationen
- 29{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Vilken distributionsgrupp gäller det' -Foreground Yellow
- write-host
- $distributionMailbox = read-host "Distributionsgrupp"
- write-host
- Set-DistributionGroup -Identity "$distributionMailbox" -RequireSenderAuthenticationEnabled $True | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Skapa delad brevlåda
- 40{
- Invoke-Expression -Command clear
- write-host 'Skriv in namnet på den nya delade brevlådan' -Foreground Yellow
- write-host ' - exempel: Office-Mailbox' -Foreground Yellow
- write-host
- $sharedMailbox = Read-Host "Delad brevlåda "
- write-host
- New-Mailbox -Name $sharedMailbox -Shared -Confirm:$False | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ta bort vald delad brevlåda
- 41{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange namnet på delad brevlåda som du vill ta bort' -Foreground Yellow
- write-host
- $sharedMailbox = read-host "Delad brevlåda"
- write-host
- Remove-Mailbox $sharedMailbox | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ge användare SendAs rättighet från delad brevlåda
- 42{
- Invoke-Expression -Command clear
- write-host '1. Ange först vilken delad brevlåda du vill redigera' -Foreground Yellow
- write-host '2. Vilken användare ska få denna SendAs åtkomst' -Foreground Yellow
- write-host
- $sharedMailbox = read-host "Delad brevlåda"
- $mailboxUser = read-host "Användare"
- write-host
- Add-RecipientPermission $sharedMailbox -AccessRights SendAs -Trustee $mailboxUser -Confirm:$False | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Ta bort SendAs rättighet från delad brevlåda
- 43{
- Invoke-Expression -Command clear
- write-host
- write-host '1. Ange först vilken delad brevlåda du vill redigera' -Foreground Yellow
- write-host '2. Vilken användare ska inte längre få SendAs rättighet' -Foreground Yellow
- write-host
- $sharedMailbox = read-host "Delad brevlåda"
- $mailboxUser = read-host "Användare"
- write-host
- Remove-RecipientPermission $sharedMailbox -AccessRights SendAs -Trustee $mailboxUser | Out-String
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Logga ut ur session
- 80{
- Invoke-Expression -Command clear
- write-host
- Get-PSSession | Remove-PSSession | Out-String
- write-host
- write-host 'Urloggad' -Foreground Green
- write-host
- read-host 'Tryck på enter för att fortsätta...'
- }
- #
- # Avsluta scriptet
- 90{
- Get-PSSession | Remove-PSSession | Out-String
- Invoke-Expression -Command clear
- write-host
- write-host 'Välkommen åter!' -Foreground Green
- write-host
- write-host
- write-host
- write-host
- write-host
- exit
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement