Loading...

Installing VMWare PowerCLI – A life changer

If you don’t already work every day in command line in the Information Technology world, I’d recommend you start…. if only to use this tool. This tool removes some of the time consuming clicks required in the GUI — not to say it is at all hard in the GUI, but when you are dealing with hundreds of machines at a given time, you will learn more about what I mean over time.

Installation

Run the following:

Install-Module -Name vmware.powercli -Scope AllUsers

You may also use CurrentUser for the scope if you’d prefer.

And then of course to use it:

Import-Module vmware.powercli

Research

Now get comfy and start researching. The capabilities with existing knowledge of Powershell scripting…. possibilities are endless.

https://code.vmware.com/docs/5060/cmdlet-reference/doc/Start-VM.html

Office Deployments

At first, I thought deploying Office 2019 the “new way” was daunting and it seemed like it was going to be a pain to deploy. It really isn’t. Even if you haven’t done it before. Here’s the basic process of it. There are tons of things you can do with it but this grazes the top to get you moving along with a quick deployment.

So the following will guide you through installing Office 365 for use on machines with Terminal Services deployed. You can of course remove the property to enable this if you wish.

Step 1 – Download the tool

Obtain the office deployment tool:

http://www.microsoft.com/en-us/download/details.aspx?id=36778

Of course you can Google Office Deployment Tool as well. Microsoft has a thing for moving stuff around more than I’d like them to.

Step 2 – Run and extract the goodies (for the lesser experienced, don’t stop now, the rest is easy!)

Run the tool, extract to a location of your choosing. Once complete, open Powershell and navigate to the folder. IE:

cd C:\Office2019

Step 3 – Configure the config XML file

You’ll notice they’ve included some pre-configured answer/ config files for us to use. Let’s open either the 64 or 32 bit version in a text editor like Notepad. Make sure to add the following “SharedComputerLicensing” property if you are using terminal services (Remote Desktop Deployments).

Be sure to modify things like the product id as needed. Here is a link with a list of IDs:

https://support.office.com/en-us/article/product-ids-that-are-supported-by-the-office-deployment-tool-for-click-to-run-77654e77-aaeb-4ed6-84eb-1d8b0e086590

Here’s a list of IDs that could be used in case Microsoft moves their page….. (the first 3 are the Office 365 Editions):

  • O365ProPlusRetail
  • O365BusinessRetail
  • O365SmallBusPremRetail
  • Excel2019Volume
  • HomeBusinessRetail
  • HomeBusiness2019Retail
  • HomeStudentRetail
  • HomeStudent2019Retail
  • O365HomePremRetail
  • ProfessionalRetail
  • Professional2019Retail
  • ProjectPro2019Retail
  • ProjectPro2019Volume
  • ProjectStdXVolume
  • ProjectStd2019Retail
  • ProjectStd2019Volume
  • ProPlus2019Volume
  • Standard2019Volume
  • VisioPro2019Retail
  • VisioPro2019Volume
<Configuration>
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
<Display Level="None" AcceptEULA="TRUE" />
<Property Name="SharedComputerLicensing" Value="1" />
 <Updates Enabled="TRUE" Channel="Monthly" />
</Configuration>

Google is your friend when you don’t know one of these properties. 🙂

Step 4 – Run it!!

Run it, deploy it, download it, whatever you want! Both commands are shown below. Download is good for network deployment. Run is great for a local install.

.\setup.exe /configure configFileName.xml OR .\setup.exe /download configFileName.xml

Exchange and AD Powershell Useful Commands

I’ve had a few odd issues & tasks with Exchange 2010 and AD recently and wanted to take a moment to document them as well as the command used to resolve the issue:

The following command was useful to resolve an issue of multiple copies of the same shared mailbox showing where only one would allow access and the other copies would only fail to open.

Add-MailboxPermission -Identity <shared mailbox alias> -User <your mailbox alias> -AccessRights FullAccess -InheritanceType All -Automapping $false

The following will find all active user accounts whose Password Never Expires attribute is set to true formatted in a nice table of username and the value. Value is not really necessary because it should only return true, but everyone loves a sanity check right?

get-aduser -filter * -properties Name, PasswordNeverExpires | where { $_.passwordNeverExpires -eq "true" } | where {$_.enabled -eq "true"} | Format-Table -Property Name, PasswordNeverExpires -AutoSize

error: