Tag Archives: windows

Windows: Set permissions on a service


when it is necessary that normal user needs the ability to do some operations on a service, such as starting or stopping, multiple ways exists to grant these permissions. Windows has no GUI or (easy to use) command line tool on board to set these access rights. I will show you 3 ways to set them.

  • Sysinternals Process Explorer
  • sc.exe (Service controller)
  • subinacl.exe (The security swiss knife)

For the following examples I will use the OpenVPN Service with its Service Name openvpnservice and assign the start and stop permissions to a user or group. But its the same procedure for all other services.

The easiest way is to use the sysinternals Process Explorer. It provides a graphical user interface but  has the dependency that the service must be in the running state before process explorer is started. If you already have a valid openvpn configuration start the service:

sc start openvpnservice

Then start the process explorer as administrator and locate the openvpn service process openvpnserv.exe.

Openvpn Process
Openvpn Process

Continue reading Windows: Set permissions on a service

Advertisment to support michlstechblog.info

Windows: Configure to use a NTP Timeserver


you can Windows tell to synchronise your PCs time time with an NTP time server of your choice.
For example the german “Physikalisch-Technische Bundesanstalt (PTB)”, which is the responsible authority of the DCF77 (Time) transmitter, operates three of them:


To set these server as timesource use the following command with Administrator rights:

If the the W32time service does not exists, register them

w32tm /register

start the Time service
Continue reading Windows: Configure to use a NTP Timeserver

Windows: Installing a language pack


if your Windows installation should support multiple langauges you can install some Windows language pack.

Language packs, formerly known as MUI, are installable on Windows 7 Enterprise and ultimate and Windows 8/8.1.

The Download locations for individual language packs are:
Windows 7
Windows 8

Or, if you have a MSDN account, download the Language Pack DVD with the whole compilation.

Install the language pack in batch mode with the following command line, for example the german one:

C:\>dism.exe /online /add-package /packagepath:D:\langpacks\de-de\lp.cab

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Processing 1 of 1 - Adding package Microsoft-Windows-Client-Refresh-LanguagePack-Package~31bf38....

[==================         32.7%                          ]

reboot the system after installation.

Check for installed languages

C:\Windows\system32>dism /online /Get-intl

Reporting online international settings.

Default system UI language : en-US
System locale : de-DE

Default time zone : W. Europe Standard Time
Active keyboard(s) : 0407:00000407, 0409:00000409
Keyboard layered driver : PC/AT Enhanced Keyboard (101/102-Key)

Installed language(s): de-DE
Type : Fully localized language.
Installed language(s): en-US
Type : Fully localized language.

The operation completed successfully.

Now you change the UI from command line language by  intlcfg.exe, which is included in the Windows Automated Installation Kit (WAIK) or form the Regional Settings Control Panel intl.cpl.


To installing the language pack by GUI start:


by selecting language lp.cab file.

Language Pack GUI
Language Pack GUI


Windows: Powershell script to fix and repair WMI


this script repairs and recreates the WMI Repository of a Windows. For example, this occurs sometimes if you clone a Windows machine with an installed SCCM/SMS Client. The typical error in this case is “Failed to open to WMI namespace ‘\\.\root\CCM\SoftwareUpdates\DeploymentAgent’ (8007045b)”

Lasts start. Start a Powershell console as Administrator. Stop all services. Sometimes other services depends on the WMI Service and does not accept a stop request. Therefore you cannot stop the WMI service. TrendMicro Office is such a service. You have to kill them by TaskManager.

# Stop WMI
# Only if SCCM/SMS Client is installed. Stop ccmexec.
Stop-Service -Force ccmexec -ErrorAction SilentlyContinue
Stop-Service -Force winmgmt

(Re)Register WMI binary components

foreach ($sWMIPath in @(($ENV:SystemRoot+"\System32\wbem"),($ENV:SystemRoot+"\SysWOW64\wbem"))){
	if(Test-Path -Path $sWMIPath){
		push-Location $sWMIPath
		foreach($sBin in $aWMIBinaries){
			if(Test-Path -Path $sBin){
				$oCurrentBin=Get-Item -Path  $sBin
				Write-Host " Register $sBin"
				& $oCurrentBin.FullName /RegServer
				# Warning only for System32
				if($sWMIPath -eq $ENV:SystemRoot+"\System32\wbem"){
					Write-Warning "File $sBin not found!"

Reregister WMI Managed Objects
Continue reading Windows: Powershell script to fix and repair WMI

Powershell: Check for Administrator rights


for a lot of powershell scripts Administrator permissions are necessary. In powershell, you can check if you are elevated by the following script code.
Insert the snippet at the top of your script. It checks the credentials and exits the script if the administrator permissions are missing.
Continue reading Powershell: Check for Administrator rights