net.dns1=8.8.8.8
net.dns2=8.8.4.4
# getprop | grep dns
[net.dns1]: [8.8.8.8]
[net.dns2]: [8.8.4.4]
# getprop | grep dns
[net.dns1]: [10.20.30.41]
[net.dns2]: [10.20.30.42]
# setprop net.dns1 8.8.8.8
# setprop net.dns2 8.8.4.4
# getprop | grep dns
[net.dns1]: [8.8.8.8]
[net.dns2]: [8.8.4.4]
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class UserWindows {
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
}
"@
try {
$test = Get-Process | where {$_.MainWindowTitle} | where {$_.ProcessName -like "Test"}
If ($test) {
$ActiveHandle = [UserWindows]::GetForegroundWindow()
# получаетм заголовок активного окна:
$NowActiveWindow = get-process | ? { $_.mainwindowhandle -eq $ActiveHandle } | Foreach {$_.MainWindowTitle}
if ($NowActiveWindow.Contains("Test")) {
Echo "Процесс запущен и окно на передмем плане пользователь с ним работает"
} else {
Echo "Процесс запущен но окно на заднем плане пользователь с ним не работает"
}
}
else {
Echo "Процесс не запущен"
}
} catch {
Write-Error "Failed to get active Window. More Info: $_"
}