Puppeteers Blog

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

January 4, 2016 

Toisinaan on tarpeen lisätä tekstitiedoston loppuun rivejä. UNIX:ssa tämä onnistuu helposti echo-komennolla:

$ echo matti >> vpn.pass
 $ echo salasana >> vpn.pass
 $ cat vpn.pass
 matti
 salasana

Sama onnistuu Powershellissä, mutta ei suinkaan Write-Host -komennolla, joka olisi echo-komennon lähin vastine, vaan Add-Content -komennolla:

> Add-Content vpn.pass -Value matti
 > Add-Content vpn.pass -Value salasana
 > Get-Content vpn.pass
 matti
 salasana

Toinen melko yleinen tarve on tiedostojen lataaminen verkosta suoraan komentoriviltä. UNIX:ssa tämä onnistuu helpoiten wget-komennolla:

$ wget http://build.openvpn.net/downloads/releases/openvpn-2.3.10.tar.gz

Vaihtoehtoisesti voidaan käyttää curl-komentoa, joka löytyy oletuksena lähes jakelusta kuin jakelusta:

$ curl -O http://build.openvpn.net/downloads/releases/openvpn-2.3.10.tar.gz

Powershellin uusimmissa versioissa on mukana Invoke-WebRequest -komento, jota voi käyttää samaan tarkoitukseen:

> Invoke-WebRequest -Uri http://build.openvpn.net/downloads/releases/openvpn-install-2.3.9-I601-x86_64.exe -OutFile openvpn-install-2.3.9-I601-x86_64.exe

Tämä on erittäin kätevä tapa noutaa esimerkiksi Windows Server 2012 r2:een jokin järkevä selain, esimerkiksi Mozilla Firefox; Internet Explorer on suoraan pakasta vedettynä käytännössä käyttökelvoton ylitiukkojen turva-asetusten takia. Joissain vanhemmissa Invoke-WebRequestin versioissa tiedostojen lataaminen ei onnistu sellaisista HTTPS-osoitteista, joiden webbipalvelimen varmenteeseen ei luoteta. Tähän ongelmaan löytyy onneksi kiertotie.

Lopuksi vielä vinkki, jolla voi luoda paikallisia Windows käyttäjiä ja liittää niitä ryhmiin:

> net user matti "password" /ADD
 > net localgroup administrators matti /add

Powershellissä itsessään ei vaikuta olevan käyttäjien luontiin omaa CmdLetiä.

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

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