#powershell Script: Find Active Directory User II (Update v1.10)

The Find-AdUserII function listed here is an update to this. It now accepts a text parameter which is used to search for an AD user based on a number of common properties like displayname or samaccountname. Using this as a starting point, … Continue reading

Zurich Kurs/Course: Windows Server 2016 Basics – Definitiv Start (ab Do. 24. Aug 2017)

Der praxisnahe Windows Server 2016 Basics Kurs (IS36.17.41) wird am Do. 24. Aug 2017 für insgesamt 6 Abende (18:00 bis 21:30 Uhr) in Zürich planmässig anfangen.

Sichern Sie sich Ihre Plätze und buchen Sie jetzt ansonsten müssen Sie bis Januar 2018 auf den nächsten Kurs warten. Mehr Information und Anmeldung finden Sie hier.

#powershell Script: Find Active Directory User II

#powershell Script: Find Active Directory User II (Update v1.10)

—–
Find-AdUserII is one of the many PowerShell functions/utilities in my personal script toolbox repository designed to help simplify the management and administration of just about any Active Directory Directory Services (AD DS) environments.

This self-explanatory utility works in PowerShell v2.0 and higher without any dependency on the AD PowerShell Module or other third party add-on. It accepts displayname as a parameter; you can customize the search criteria to any supported AD user attributes, for example. With the (auto) discovered forest/domain names, the function performs LDAP searches across multiple domains in your entire AD forest automagically (thanks to the .NET Framework). Enjoy!

################################################################################
# Copyright (c) 201x-2017 leedesmond.com
# All Rights Reserved. Use at your own risk and responsibility.
# Find-AdUserII.ps1
# Version 1.00
#
Continue reading

#powershell Script: Find Active Directory User I

Find-AdUserI is one of the many PowerShell functions/utilities in my personal script toolbox repository designed to help simplify the management and administration of just about any Active Directory Directory Services (AD DS) environments.

This self-explanatory utility works in PowerShell v2.0 and higher without any dependency on the AD PowerShell Module or other third party modules. It accepts SamAccountName as a parameter; you can customize the search criteria to displayname or any supported AD user attributes for example. You don’t even need to know or specify the domain name if your AD environment is a straightforward single forest single domain setup. Enjoy!

################################################################################
# Copyright (c) 201x-2017 leedesmond.com
# All Rights Reserved. Use at your own risk and responsibility.
# Find-AdUserI.ps1
# Version 1.00
#
Continue reading

Zurich Kurs/Course: Windows Server 2016 Basics (ab 24. Aug 2017)

Möchten Sie die Grundkenntnisse zur Verwaltung von der brandneuen Microsoft Windows Server 2016 Plattform lernen? Dann verpassen Sie diese Gelegenheit nicht, den aktuellen praxibezogenen Kurs zu besuchen. Dies findet schon am Do. 24. Aug 2017 für insgesamt 6 Abende in Zürich statt.

Es gibt noch freie Plätze – mehr Information und Anmeldung finden Sie hier.

Zürich PowerShell Training Kurs/Course (from May 2017)

PowerShellThe bad news is that I will miss another year of PowerShell Europe Conference in Hanover, Germany (2 – 5 May 2017). The very excellent news though is that I shall deliver and teach a private PowerShell 5.x course* to the biggest number one Swiss bank in the country, ranked as one of the top Fortune 500 global financial services institution worldwide.

How can I participate in or organize private (customized) lessons then? Simple really. Contact me for more information today. Or you can sign-up for any of my popular public PowerShell, Microsoft Windows Server 2016, MCSA certificate or specialized cloud training classes covering beginners to advanced levels:

  • Kurs: PowerShell V5.x – Einführung / Basics (link)
    Next (evening) class start Wed 10. May 2017
  • Kurs: PowerShell V5.x – Aufbau / Advanced (link)
    Next (evening) class start Wed 30. Aug 2017
  • Office 365, Azure, Exchange/Skype for Business Server, PowerShell Automation, etc. (contact)
  • Others

I look forward to work with you on training or consultancy engagements in your language (English, German, 中文, etc.) from Zurich, Switzerland to pretty much anywhere in the world.

#PowerShell #ITPros #Events #Training @ebzuerich

* hence the apparent quietness online

HELP: PowerShell 5.1 / 5.0 What’s New (and More) – Part 5 Functions

Many new functions were introduced or “reborn” as functions (where life started as cmdlets or vice versa) in PowerShell 5.0. Find-Command and Find-RoleCapability are the only 2 additions in PS 5.1 which brings the total function count to 59 for a default installation of Windows Server 2016 RTM (en-us).

PS 5.0

PS 5.1

Compress-Archive

Compress-Archive

ConvertFrom-SddlString

ConvertFrom-SddlString

Disable-DscDebug

Disable-DscDebug

Disable-NetworkSwitchEthernetPort

Disable-NetworkSwitchEthernetPort

Disable-NetworkSwitchFeature

Disable-NetworkSwitchFeature

Disable-NetworkSwitchVlan

Disable-NetworkSwitchVlan

Enable-DscDebug

Enable-DscDebug

Enable-NetworkSwitchEthernetPort

Enable-NetworkSwitchEthernetPort

Enable-NetworkSwitchFeature

Enable-NetworkSwitchFeature

Enable-NetworkSwitchVlan

Enable-NetworkSwitchVlan

Expand-Archive

Expand-Archive

Export-ODataEndpointProxy

Export-ODataEndpointProxy

Find-Command

Find-DscResource

Find-DscResource

Find-Module

Find-Module

Find-RoleCapability

Find-Script

Find-Script

Format-Hex

Format-Hex

Get-DscConfigurationStatus

Get-DscConfigurationStatus

Get-InstalledModule

Get-InstalledModule

Get-InstalledScript

Get-InstalledScript

Get-NetworkSwitchEthernetPort

Get-NetworkSwitchEthernetPort

Get-NetworkSwitchFeature

Get-NetworkSwitchFeature

Get-NetworkSwitchGlobalData

Get-NetworkSwitchGlobalData

Get-NetworkSwitchVlan

Get-NetworkSwitchVlan

Get-PSRepository

Get-PSRepository

Get-SilComputerIdentity

Get-SilComputerIdentity

Import-PowerShellDataFile

Import-PowerShellDataFile

Install-Module

Install-Module

Install-Script

Install-Script

New-Guid

New-Guid

New-NetworkSwitchVlan

New-NetworkSwitchVlan

New-ScriptFileInfo

New-ScriptFileInfo

New-TemporaryFile

New-TemporaryFile

Publish-Module

Publish-Module

Publish-Script

Publish-Script

Register-PSRepository

Register-PSRepository

Remove-DscConfigurationDocument

Remove-DscConfigurationDocument

Remove-NetworkSwitchEthernetPortIPAddress

Remove-NetworkSwitchEthernetPortIPAddress

Remove-NetworkSwitchVlan

Remove-NetworkSwitchVlan

Restore-NetworkSwitchConfiguration

Restore-NetworkSwitchConfiguration

Save-Module

Save-Module

Save-NetworkSwitchConfiguration

Save-NetworkSwitchConfiguration

Save-Script

Save-Script

Set-NetworkSwitchEthernetPortIPAddress

Set-NetworkSwitchEthernetPortIPAddress

Set-NetworkSwitchPortMode

Set-NetworkSwitchPortMode

Set-NetworkSwitchPortProperty

Set-NetworkSwitchPortProperty

Set-NetworkSwitchVlanProperty

Set-NetworkSwitchVlanProperty

Set-PSRepository

Set-PSRepository

Stop-DscConfiguration

Stop-DscConfiguration

Test-ScriptFileInfo

Test-ScriptFileInfo

Uninstall-Module

Uninstall-Module

Uninstall-Script

Uninstall-Script

Unregister-PSRepository

Unregister-PSRepository

Update-DscConfiguration

Update-DscConfiguration

Update-Module

Update-Module

Update-ModuleManifest

Update-ModuleManifest

Update-Script

Update-Script

Update-ScriptFileInfo

Update-ScriptFileInfo

Hyper-V: The operation cannot be performed while the object is in use (Windows Server 2016 / Windows 10)

You have a number of virtual machines running on your Windows Server 2016, Windows 10 or Windows Server 2008 R2 Hyper-V system. As soon as you try to start another VM in the Hyper-V Manager console or Start-VM virtmachine via PowerShell, a rather cryptic message keeps preventing you from doing so:

[Window Title]
Virtual Machine Connection

[Main Instruction]
The application encountered an error while attempting to change the state of ‘virtmachine’.

[Content]
‘virtmachine’ failed to change state.

The operation cannot be performed while the object is in use.

[Close]

To resolve this, disassociate any other VM from “Physical CD/DVD device” under media before you retry the operation on the failed VM.

HELP: PowerShell 5.1 / 5.0 What’s New (and More) – Part 4 Variables

The good news about system variables in Windows PowerShell is that only one new (preference) variable $InformationPreference is added starting with PS 5.0. It has a default value of SilentlyContinue and is listed in the about_Preference_Variables Help file (PS 5.1). You use this mainly to control how the new PS 5.x Write-Information cmdlet behaves. Of note is that Write-Host is a wrapper for Write-Information beginning with PS 5.0. However, the $InformationPreference variable only affects the latter cmdlet.

Desired State Configuration is a new feature introduced in PowerShell 4.0. The about_Automatic_Variables help file in PS 5.1 lists this $AllNodes variable where it automatically becomes available in the scope of a DSC configuration document when passed using the -ConfigurationData parameter. As a side note, you may be interested to know that development of DSC resources using the new class feature is possible starting in PS 5.0.

REFERENCES

– Writing a custom DSC resource with PowerShell classes (TechNet)

 

Hyper-V: Virtual Machine failed to change state (Windows Server 2016 / Windows 10)

When you try to Apply a previously saved Checkpoint (snapshot) to a virtual machine in Hyper-V running Windows Server 2016, Windows 10 or Windows Server 2012 R2, a bizarre error message consistently appears even with full administrative rights on the machine:

[Window Title]
Virtual Machine Connection

[Main Instruction]
The application encountered an error while attempting to change the state of ‘virtmachine’.

[Content]
‘virtmachine’ failed to change state.

The operation is not supported.

[Close]

If restarting the “Hyper-V Virtual Machine Management” (vmms) and “HV Host Service” (HvHost) service does not help, a cold machine reboot should fix this rather strange issue.