Executable or batch-file as service in Windows with Powershell DSC

Executable or batch-file as service in Windows with Powershell DSC

In case if you ever need to create Windows service from an executable or even bat-file, please feel free to use the following configuration in Powershell DSC.

The solution based on the NSSM software which is very similar to srvany.exe (from Windows 2003 Kit). The main difference NSSM from srvany - is that srvany does not close the underlying process if the service is stopped. And NSSM does close it. Download NSSM.

PrintEmail

How to unzip big files in Powershell DSC configurations

How to unzip big archives in Powershell DSC configurations

If you ever need to unzip BIG archive files in Powershell DSC configurations (during deployment some software), you will possibly get stuck, because using Archive resource is not suitable for this task as it is very slow. xArchive also will not help.

One possible solution is to unzip it with 7zip or some other command line utility using WindowsProcess resource, but be warned that WindowsProcess will just start the process and then will go to the next instruction in your configuration. See the example:

PrintEmail

Save Powershell-console output to text file

Save Powershell-console output to text file

Sometime it's very difficult to find error in Powershell script, especially if script is running in some dedicated session, for example, under SYSTEM account. There will be errors but you'll never know about them.

That's why I started to search a way to log output from Powershell-console to file. Here is the solution.

PrintEmail

Error "Get-PowerCLIVersion : The term 'Get-PowerCLIVersion' is not recognized as the name of a cmdlet,   function, script file, or operable program." while starting VMware vSphere PowerCLI

Error "Get-PowerCLIVersion : The term 'Get-PowerCLIVersion' is not recognized as the name of a cmdlet, function, script file, or operable program." while starting VMware vSphere PowerCLI

Sometimes the following error appear while starting VMware vSphere PowerCLI:

Get-PowerCLIVersion : The term 'Get-PowerCLIVersion' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At C:\Program Files (x86)\VMware\Infrastructure\vSphere
PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1:38 char:12
+ $version = Get-PowerCLIVersion
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-PowerCLIVersion:String) [], CommandNotFoundExce
ption
+ FullyQualifiedErrorId : CommandNotFoundException

PrintEmail

Search and\or delete messages in mailboxes in Exchange 2010/2013/2016

Search and\or delete messages in mailboxes in Exchange 2010/2013/2016

As soon as all messages of Exchange users are stored in database, we can perform search and, if needed, delete operations against messages. It is needed in some cases for example, when employee sent message with confidentional information to the wrong recipient or you just need to find some message and look into it... there can be a lot of options.

What Exchange 2010/2013/2016 can offer to us in such cases? We can search mailboxes (all or any specific) in database and copy search results into some other mailbox. If needed, we also can delete search results from the source mailboxes.

PrintEmail