In my previous post, Getting Started with Office 365 Groups, I outlined many of the steps necessary for controlling the creation of Office 365 Groups. I initially realized that this process is cumbersome but had it reinforced when I walked someone through it recently. So, I have a new module: xAzureAD.DirectorySetting. It provides a single function: … Continue reading Controlling Office 365 Groups Creation
Using the Microsoft Graph with PowerShell
The Microsoft Graph is the unified API for Microsoft cloud services that is REST-based. It is the solution to the problem of data silos in the various services, like Exchange Online, SharePoint Online, InTune, Azure AD, and more. What is really nice about the API is that you can easily move between nodes within the … Continue reading Using the Microsoft Graph with PowerShell
VS Code PowerShell Advanced Function Snippet
For VS Code, I have re-created the Advanced Function snippet found in the PowerShell ISE. This snippet allows one to readily have a rather complete Advanced Function template. What are the advantages of an Advanced Function? Common Attributes and better control logic (BEGIN, PROCESS, END). It also includes templating for help and metadata comments. It … Continue reading VS Code PowerShell Advanced Function Snippet
Installing VS Code for PowerShell
VS Code is the [relatively] new editor that Microsoft has released and is available for Windows, Linux, and MacOS. It is fairly lightweight and works with many different languages, including the many Visual Studio languages, PowerShell, Java, JavaScript, Perl, PHP, and Python, as well as other formats like Markdown and JSON. In this video, I … Continue reading Installing VS Code for PowerShell
“Get” is Optional
There are many different shortcuts out there in PowerShell and I get exposed to new ones all of the time. What I saw this past week at Microsoft Ignite was interesting to me because I am sure it has existed for a while. It is the kind of shortcut that I normally wouldn’t use because … Continue reading “Get” is Optional
An Overly Aggressive Security Posture?
It is quite easy for security professionals to get aggressive with introducing controls into systems. I should know, I have worked with so many and I hold a CISSP, myself. But the overall intent of security is to make sure that systems are available for legitimate purposes. The old notion that the only secure system … Continue reading An Overly Aggressive Security Posture?
How to Provision Exchange Online Mailboxes
After completing a migration to Exchange Online, it is common to have questions like: 1) What is the best practice for provisioning mailboxes? 2) How do I provision mailboxes? 3) Why should I keep this Exchange server around? Well, these are good questions. Let's start with the last question. When an organization migrates to … Continue reading How to Provision Exchange Online Mailboxes
Identifying Mailboxes without a Cloud Alias
In a hybrid Exchange scenario, mailboxes should be stamped with aliases that are mapped to the tenant unique namespaces (e.g. *.onmicrosoft.com). If a mailbox does not contain these aliases, it will fail to migrate. These aliases are normally applied via Email Address Policies, but if the AD object is set to block Email Address Policies … Continue reading Identifying Mailboxes without a Cloud Alias
Hardening SSL/TLS in Windows Server
Over the past few years, I have had to address cryptographic vulnerabilities on Windows Server by disabling SSL v2, SSL v3, TLS v1, and RC4. Here is a script that I cobbled together (could definitely be improved): Harden-SslTls
Considerations for an Open Sourced PowerShell
With the news that PowerShell has been open sourced and brought to Linux and Mac OSX, we are witnessing the fruits of Microsoft's journey to embrace other platforms in an effort to reach and support customers' needs. It is pretty exciting as my personal journey with technology began on the other side, using Linux and … Continue reading Considerations for an Open Sourced PowerShell