Booting Linux in Safe Mode: “STDIn: Not a Typewriter” Linux programmers have a sense of humor. If Microsoft programmers do, it is rarely seen.
Add-WindowsFeature Alternative for Client OS
Waiting for the add remove features dialog populate on my client OS computer is slow. Since I started using Add-WindowsFeature wither Server 2008, and Install-WindowsFeature beginning with Server 2012, I was disappointed by the lack of a similar cmdlet for Windows 10. Unfortunately, Add/Install-WindowsFeature relies on ServerManager — which doesn’t exist on a workstation. The…
Export and Import Delegated OU Permissions with PowerShell
There are some delegations of permissions within Active Directory which cannot be made without extra effort. Some properties are flagged as hidden in a file called Dssec.dat, in %windir%\System32 on computers with the Active Directory Users and Computers (ADUC) MMC. Dssec.dat is a hidden text file that can be viewed and modified with Notepad. When…
Clear GPO Cache on Remote Computer with PowerShell
Clearing the GPO cache on a computer may be the only way to fix a persistent problem. Doing this involves deleting files, registry entries, and rebuilding the security database. Clear-GPOCache.ps1 works by creating a custom batch file on the remote computer, then scheduling a task running as System to run the process with the required…
Get and Read RDP Certificate from a Remote Host with PowerShell
Sometimes, I get some interesting questions from other teams within my organization. Read-RDPCert.ps1 addresses a request to read the SSL certificates from a list of remote hosts. This is based on the code and following comments at https://blogs.technet.microsoft.com/parallel_universe_-_ms_tech_blog/2014/06/26/reading-a-certificate-off-a-remote-ssl-server-for-troubleshooting-with-powershell/.
Enable New User Mailboxes with PowerShell
Mail enabling new users should be easy to do from within the Exchange management console. If you are in a really large organization, you soon discover that it is painfully slow. When we create new users it takes time to replicate to Exchange, so we don’t mail enable new users upon creation. Making matters worse…
Drag and Drop Form for Powershell
Get-DragAndDrop.ps1 is drag and drop PowerShell form is based on http://www.rlvision.com/blog/a-drag-and-drop-gui-made-with-powershell/. All the interesting coding bits were written by Dan. I modified the script to make it an advanced function which has parameters for the form title, instructions, status and button title. The default form looks like this:
PowerShell Get Column Names for a CSV File
Get-Member doesn’t always show you what is under the hood for an object. For that you need the .PSObject property. Here PSObject.Properties contains CSV column names $data = Import-Csv -Path $csvfile $ColNames = ($data[0].psobject.Properties).name $ColNames
Powershell Date LDAP filters
This snippet can be used for easier date formatting when using an LDAP date filter with PowerShell. This demonstrates how to get users created within the previous 30 days using LDAP: $MaxDays = 30 $StartDate = (Get-date).AddDays(-$MaxDays) #Set to begin at midnight $ldapStart = $StartDate.GetDateTimeFormats()[5].ToString().Replace(“-“,”)+’000000.0Z’ $LDAPFilter = “(WhenCreated>=$ldapStart)” Get-aduser -LDAPFilter $ldapfilter -properties whencreated
PowerShell Pause with Progress Bar
This snippet of PowerShell was written to have show users something more interesting than “Sleeping for 15 seconds” in a script. Notice that I splat the progress parameters. #The math works only with seconds $pauseSecs = 1 $MaxWaitSecs =15 for ($i=0; $i -lt $MaxWaitSecs; $i+=$pauseSecs) { [int]$pct = ($i/$MaxWaitSecs)*100 $Params = @{ Activity = “Please…