The script comments will be enought to explain each step. Its kind of Hello World scripts. But may help someone for copy paste π
#http://technet.microsoft.com/en-us/library/hh974317.aspx # First Get the Stuff you need. You do not need a server. Windows 7, Windows 8 is good enought π But 64Bit. #Connecting with Office 365 $CRed = Get-Credential Connect-MsolService -Credential $CRed #Listing Users Get-MsolUser | Select UserPrincipalName, DisplayName, ObjectId #Listing New User New-MsolUser -UserPrincipalName "username@domain.onmicrosoft.com" -DisplayName "FirstName LastName" -FirstName "FirstName" -LastName "LastName" New-MsolUser -UserPrincipalName "testusername@domain.onmicrosoft.com" -DisplayName "FirstName LastName" -FirstName "FirstName" -LastName "LastName" #Sending to REcyle Bin Remove-MsolUser -UserPrincipalName "testusername@domain.onmicrosoft.com" #Restoring the User from Recyle Bin Restore-MsolUser -UserPrincipalName "testusername@domain.onmicrosoft.com" #Sending to Permanently Removing Remove-MsolUser -UserPrincipalName "testusername@domain.onmicrosoft.com" -RemoveFromRecycleBin -Force #Findig User Get-MsolUser | ? DisplayName -eq "FirstName LastName" Get-MsolUser | ? UserPrincipalName -eq "username@domain.onmicrosoft.com" #Getting and chaning User information. Assigning Usage Location to assing Licneses $TestUser = Get-MsolUser | ? UserPrincipalName -EQ "username@domain.onmicrosoft.com" Set-MsolUser -ObjectId $TestUser.ObjectId -UsageLocation "US" Set-MsolUser -ObjectId $TestUser.ObjectId -DisplayName "Changed First, LastName" -FirstName "NewFirstName" -LastName "NewLastName" #Display Licenses Get-MsolUser | ft displayname, Licenses #List the Office 365 Subscription or Sku Get-MsolAccountSku #Set the License for User (This will assign all the Available Licenses) Set-MsolUserLicense -ObjectId $TestUser.ObjectId -AddLicenses (Get-MsolAccountSku).AccountSkuId Set-MsolUserLicense -UserPrincipalName $TestUser.UserPrincipalName -AddLicenses (Get-MsolAccountSku).AccountSkuId #DisplayUser Information Get-MsolUser | ft displayname, Licenses #List All Plans Get-MsolAccountSku | Where-Object {$_.SkuPartNumber -eq "ENTERPRISEPACK"} | ForEach-Object {$_.ServiceStatus} #YAMMER_ENTERPRISE PendingInput #RMS_S_ENTERPRISE Success #OFFICESUBSCRIPTION Success #MCOSTANDARD Success #SHAREPOINTWAC Success #SHAREPOINTENTERPRISE Success #EXCHANGE_S_ENTERPRISE #Making a Sub Option object for Selective values $Options = New-MsolLicenseOptions -AccountSkuId (Get-MsolAccountSku).AccountSkuId -DisabledPlans SHAREPOINTWAC, EXCHANGE_S_ENTERPRISE #Assigning it user object Set-MsolUserLicense -UserPrincipalName $TestUser.UserPrincipalName -LicenseOptions $Options -Verbose #Creating a New Office 365 Group $Group = New-MsolGroup -DisplayName "ATM" -Description "ATM Users" #Getting the Group $Group = Get-MsolGroup | ? DisplayName -EQ "ATM" #Adding Member to Group Add-MsolGroupMember -GroupObjectId $Group.ObjectId -GroupMemberObjectId $TestUser.ObjectId Get-MsolGroupMember -GroupObjectId $Group.objectId #Reading Properties of Users in a Group Get-MsolGroupMember -GroupObjectId $Group.ObjectId -All | Select ObjectId, DisplayName, EmailAddress #REmvoing Group Peramentnly - not Recylebin here π Remove-MsolGroup -ObjectId $Group.ObjectId #Sampe CSV #https://portal.office.com/UserManagement/Samples/Import_User_Sample_en.csv #Blank CSV #https://portal.office.com/UserManagement/Templates/Import_User_Template_en.csv #Build Import Users from CSV (Please Remove Formatting if it does not work :)) Import-Csv -Path c:\Users.csv | ForEach-Object { New-MsolUser -UserPrincipalName $_."UPN" -AlternateEmailAddresses $_."AltEmail" -FirstName $_."FirstName" -LastName $_."LastName" -DisplayName $_."DisplayName" -BlockCredential $False -ForceChangePassword $False -LicenseAssignment $_."LicenseAssignment" -Password $_."Password" -PasswordNeverExpires $True -Title $_."Title" -Department $_."Department" -Office $_."Office" -PhoneNumber $_."PhoneNumber" -MobilePhone $_."MobilePhone" -Fax $_."Fax" -StreetAddress $_."StreetAddress" -City $_."City" -State $_."State" -PostalCode $_."PostalCode" -Country $_."Country" -UsageLocation $_."UsageLocation" }