• Close Powershell Sessions!

    If you have ever received the error message below or a similar one then you are not closing your PowerShell sessions properly (or at all!).

    [serverName] Connecting to remote server failed with the following error message : The WS-Management service cannot process the request. This user is allowed a maximum number of 3 concurrent shells, which has been exceeded. Close existing shells or raise the quota for this user. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme….RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionOpenFailed

    The way to close your PowerShell sessions is to use the Remove-PSSession command once you have finished with your session.
    Example:

    We use the following to create the session:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection

    We now end the above session by entering:

    Remove-PSSession $Session

  • You may notice that meetings with a ‘Room’ mailbox will by default only show a “Busy” status.
    Many, including the organisation I work for, wish to have (at the very minimum) the following displayed in the Room’s calendar:

    • Organiser of the meeting, and
    • The subject of the meeting

    Below I will demonstrate how to set the permissions so that all meetings (except those explicitly marked as ‘Private’) publicise the above details to all who view its calendar.

    1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
    2. Next, run the following to authenticate your self and import PowerShell commands to your local session:
      $LiveCred = Get-Credential
      $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
      Import-PSSession $Session

    Set the Room calendar to show ‘limited details’ by default

    We will do this using the Set-MailboxFolderPermission command. Click the link to see the full list of parameters you can pass in to the command. We will be using ‘limited details’ for the AccessRights variable.

    Set-MailboxFolderPermission -AccessRights LimitedDetails -Identity Room:\calendar -User default

    Set the Room calendar to show the ‘Organiser’ and ‘Subject’ of the meeting

    We will do this using the Set-CalendarProcessing command. Click the link to see the full list of parameters you can pass in to the command.

    Set-CalendarProcessing -Identity testroom -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false

  • There may be times where you may need to grant an IT administrator or other employees access to another user’s mailbox.
    Below I will demonstrate how to:

    • Grant an Admin access to a single mailbox
    • Grant an Admin access to all mailboxes
    • Revoke the above permissions (recommended cause of action after the Administrator has finished his/her tasks)
    1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
    2. Next, run the following to authenticate your self and import PowerShell commands to your local session:
      $LiveCred = Get-Credential
      $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
      Import-PSSession $Session

    Grant an Admin access to a single mailbox

    Grant an Admin access to all mailboxes

    • Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -ne 'Admin')} | Add-MailboxPermission -User[email protected] -AccessRights fullaccess -InheritanceType all

    Revoke the above permissions

    • If you want to revoke permissions after granting them, simply replace the ‘Add-MailboxPermission‘ with ‘Remove-MailboxPermission‘ followed by the original command you entered to grant the permissions. For example, to grant [email protected] full access to [email protected], you would enter the command:
      Add-MailboxPermission [email protected] -User [email protected] -AccessRights FullAccess -InheritanceType All

     

    There is a switch you can use in conjunction with the above commands which will hide the user mailboxe from appearing in the mailbox-tree panel in Outlook (on the left side).

    -AutoMapping $false

  • Remove Password Expiration

    Many customers ask me the question how they can remove password expiration on their Office 365 environment. With the PowerShell command below this can be achieved:

    1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
    2. Next, run the following to authenticate your self and import PowerShell commands to your local session:
      $LiveCred = Get-Credential
      $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
      Import-PSSession $Session
    3. Get-MsolUser | Format-Table UserPrincipalName,DisplayName,PasswordNeverExpires
  • Use File System Check

    Your Mac seems stable and healthy, and you figure you’ve got it made. Because of this, you’re probably thinking you don’t need to check the file system for errors. Don’t do that though, because there may be problems lurking in the background that you can’t see. Just as it’s a good idea to go to the doctor once a year even if you feel great, you need to give your Mac the once-over every once in a while too.

    Although you could purchase expensive third-party utilities to search your hard disk for errors and repair them, your Mac OS X machine comes with a built-in utility called File System Check that you can use to do the same thing. File system checks are run using Single-User mode by typing in a simple command. You should perform these checks monthly. To run a file system check now, follow these steps:

    1. From the Apple menu, choose Restart.

    2. As your Mac boots, hold down the Command+S key combination to start the computer in Single-User mode. (Make sure to press this key combination right after the chime; otherwise, you won’t get in.)

    3. At the command prompt, type /sbin/fsck –fy. There’s a space before the –fy. This command tells your Mac to run File System Check, force the check (f) and answer yes (y) to any and all questions regarding fixing, repairing, or salvaging information. Apple says this is the optimal approach because answering no to any question causes fsck to stop running.

    4. If the File System Check finds errors, run it again until no more errors are found. You’ll know errors were found if you receive the message “FILE SYSTEM WAS MODIFIED.” You’ll know when all errors have been repaired when you see the message “The volume Macintosh HD appears to be OK.”

    5. Type reboot once all of the errors have been found and repaired.