Puppeteers Blog

Powershelliä UNIX-ylläpitäjille, osa 10

March 11, 2016 

Windowsin käynnistyviin ohjelma- ja kirjastotiedostoihin liittyy paljon erilaista metatietoa, esimerkiksi ohjelman versionumero, julkaisija yms. Näiden metatietojen tarkastelu on toisinaan hyödyllistä, etenkin ohjelmistoja testattaessa. Alla OpenVPN:n bin -kansion sisältö kokonaisuudessaan:

PS C:Program FilesOpenVPNbin> Get-ChildItem 
 
 Directory: C:Program FilesOpenVPNbin 
 
 Mode LastWriteTime Length Name
 ---- ------------- ------ ----
 -a--- 7.3.2016 16:40 1753440 libeay32.dll 
 -a--- 7.3.2016 16:40 226432 liblzo2-2.dll
 -a--- 7.3.2016 16:40 123000 libpkcs11-helper-1.dll 
 -a--- 7.3.2016 16:40 465760 openvpn-gui.exe
 -a--- 7.3.2016 16:40 965984 openvpn.exe 
 -a--- 7.3.2016 16:40 65888 openvpnserv.exe 
 -a--- 7.3.2016 16:40 396640 ssleay32.dll

Metatiedot on tallennettu tiedosto-objektin VersionInfo-parametriin - alla tarkastellaan openvpn.exe -tiedoston metatietoja:

PS C:Program FilesOpenVPNbin> (Get-ChildItem openvpn.exe).VersionInfo|fl 
 
 OriginalFilename : openvpn.exe 
 FileDescription : OpenVPN Daemon 
 ProductName : OpenVPN 
 Comments : 
 CompanyName : The OpenVPN Project 
 FileName : C:Program FilesOpenVPNbinopenvpn.exe 
 FileVersion : 2.3_guipr18and26.0 
 ProductVersion : 2.3_guipr18and26.0 
 IsDebug : False 
 IsPatched : False 
 IsPreRelease : False 
 IsPrivateBuild : False 
 IsSpecialBuild : False 
 Language : englanti (Yhdysvallat) 
 LegalCopyright : Copyright © The OpenVPN Project 
 LegalTrademarks : 
 PrivateBuild : 
 SpecialBuild : 

Yllä komento Get-ChildItem tarvitaan openvpn.exe:n muuntamiseksi Powershell-objektiksi.

Metatietojen lisäksi Powershellillä on mahdollista tarkistaa ohjelmien digitaaliset allekirjoitukset (Authenticoode signature). Tähän tarkoitukseen käytetään Get-AuthenticodeSignature CmdLetiä:

PS C:Program FilesOpenVPNbin> Get-AuthenticodeSignature *.exe 
 
 Directory: C:Program FilesOpenVPNbin 
 
 SignerCertificate Status Path 
 ----------------- ------ ----
 5E66E0CA2367757E800E65B770629026E131A7DC Valid openvpn-gui.exe 
 5E66E0CA2367757E800E65B770629026E131A7DC Valid openvpn.exe 
 5E66E0CA2367757E800E65B770629026E131A7DC Valid openvpnserv.exe

Digitaalisten allekirjoitusten kanssa Windows on nykyisellään kovin tarkka, joten tälle CmdLetille tulee varmasti tulevaisuudessa käyttöä.

Powershelliä UNIX-ylläpitäjille -artikkelisarjan muut osat:

Samuli Seppänen
Samuli Seppänen
Author archive
menucross-circle