PS C:\> "XYZ\p107225" -cmatch "^[a-zA-Z]{2,3}\\p10[0-9]{4}$")
http://blogs.technet.com/b/technetczsk/archive/2010/02/15/serial-windows-powershell-ps-pro-programatory-cast-6.aspx
http://www.regular-expressions.info/
Detekce spuštěného a připojeného Skypu je v LAN poměrně snadná. Skype otvírá port TCP 80, takže k odhalení stačí síťový sken stanice (např. pomocí nmap) a analýza spuštěných procesů.
Příklad:
proskenujeme port 80 na stanici 192.168.1.10
E:\>nmap 192.168.1.10 -p 80 | findstr /i "open"
80/tcp open http
port je otevřený, může zde běžet webový server (u stanice neobvyklé), SQL server, Skype, atd.
na skenované stanici si lokálně zobrazíme aktivní připojení s portem 80
C:\>netstat -noa | findstr :80
TCP 0.0.0.0:80 0.0.0.0:0 NASLOUCHÁNÍ 3372
TCP 192.168.1.10:1339 204.9.163.162:80 CLOSE_WAIT 1268
poslední sloupec je PID, což je ProcessID procesu, který otevíra TCP 80 a je to skype.exe:
C:\>tasklist /fi "pid eq 3372"
Název procesu PID Název relace Číslo re Využití pamě
========================= ====== ================ ======== ============
Skype.exe 3372 RDP-Tcp#10 0 40496 kB
Celé toto řešení je optimální z hlediska rychlosti detekce, další způsob je hledat proces Skype.exe, což je pomalejší a musí bý splněno více prerekvizit (Domain Admin, RPC,…). Naproti tomu spuštěný a připojený Skype bude mít vždy vytvořený proces Skype.exe, a to i v případě, kdy orignální Skype.exe přejmenujete na Neco.exe.
Sken portu na více stanicích:for /f %%i in (workstations.txt) do (
echo %%i >> log.txt
nmap %%i -p 80 |findstr /i "open" >> log.txt
echo.>> log.txt
)
Local machine
wmic path Win32_PerfFormattedData_PerfProc_Process get IDProcess,Name,PercentProcessorTime
Remote machine
wmic /node:"server1" path Win32_PerfFormattedData_PerfProc_Process get IDProcess,Name,PercentProcessorTime