[ Az adminisztrátori PowerShell beszínezése ]

Az adminisztrátori PowerShell beszínezése

  • 2007-04-01 16:08
  • Forrás: Pócza Krisztián
A Microsoft következ? generációs parancssora, a PowerShell minden eddiginél nagyobb szabadságot és több lehet?séget ad a rendszergazdák és a programozók kezébe. A PowerShell a Microsoft .NET-keretrendszer futtatókörnyezetére épül? parancssori alkalmazás, mely objektumorientált programozást és szkriptelést tesz lehet?vé a teljes Windows rendszerben. Éppen ezért fontos tudnunk, ha a PowerShell adminisztrátori jogokkal fut.

Korábbi cikkünkben azt tárgyaltuk, hogyan különböztethetjük meg színekkel a különböz? jogosultsággal indított Windows parancssorokat. Ugyanezt elérhetjük a PowerShell esetében is, igaz, némileg más módszerrel.

Ahhoz, hogy az eljárás m?ködjön, két fájl szükséges, egy "sudo.ps1", ami rendszergazda jogosultsággal indítja el a PowerShell-t, és egy "SuProfile.ps1", amely pedig indulás el?tt a megfelel? beállításokat elvégzi.


Hozzuk létre a "sudo.ps1" fájlt, majd töltsük fel az alábbi tartalommal:

$su="sysadmin"
#$su="Administrator"
#$su="Rendszergazda"

$psh="C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe"
if ($args.Length -eq 0)
{
  runas /user:$su "$psh -NoExit c:\bin\SuProfile.ps1"
}
else
{
  runas /user:$su "$args"
}



Ezután készítsük el a "SuProfile.ps1" fájlt is:

$host.ui.rawui.BackGroundColor=15
$host.ui.rawui.ForeGroundColor=12
$host.ui.rawui.WindowSize.Width=110
$host.ui.rawui.WindowSize.Height=35
$host.ui.rawui.WindowTitle="***** Admin console *****"
cd c:\
cls


Mint láthatjuk, a $su változó határozza meg, hogy mi legyen a rendszergazda felhasználó neve (példánkban "sysadmin"). A fenti beállítások mellett két paraméterezési lehet?ségünk lesz:

  • Ha nem adunk meg külön paramétert, a jelszókérés után egy új PowerShell indul, rendszergazda jogosultsággal és a "SuProfile.ps1"-ben található profilbeállításokkal.

  • Ha legalább egy paramétert megadunk, a jelszó begépelése után a szkript a paraméterként megadott programot indítja.

    FONTOS! Biztonsági szempontból a PowerShell alapértelmezés szerint nem engedi, hogy aláírás nélküli szkriptek fussanak. Ahhoz, hogy ezt a m?ködési módot felülbíráljuk, a következ? parancsot kell kiadnunk egy rendszergazdai jogosultságokkal futó PowerShell parancssorból:

    Set-ExecutionPolicy RemoteSigned

    Ez a parancs beállítja, hogy lokálisan futhassanak nem aláírt szkriptek, azonban a távolról származó szriptek aláírását megköveteli. Szintén biztonsági szempontokat figyelembe véve, alapértelmezés szerint a ".ps1" fájlkiterjesztés a Jegyzettömbhöz van társítva. Ezért ha például a "Start Menü – Futtatás" segítségével is indíthatóvá kívánjuk tenni a "sudo.ps1" szkriptet (és más PowerShell szkripteket), akkor szükséges, hogy a ".ps1" fájlkiterjesztés a PowerShell-hez legyen társítva, és ne az alapértelmezett Jegyzettömbhöz.

A profilfájl beállítja az ablak méretét, a bet?k színét (példánkban piros), a háttér színét (példánkban fehér) és a címsor szövegét. A szkript feltételezi, hogy a "SuProfile.ps1" a "c:\bin" mappában található, ez természetesen igény szetint megváltoztatható.


[ Rendszergazdaként indított PowerShell ]

Rendszergazdaként indított PowerShell


Köszönet Pócza Krisztiánnak az információ megosztásáért! - http://kpocza.net/
nyolc8: Nem az ablakokra mondta Majszter? Nem tudom... Ha igen, akkor sajnos nem tudok segíteni, nincs telepítve a Vista, mert amikor telepítettem, utána egy kicsikét sírtam, hogy miért nem jó ez meg az, stb. hozzá, és a következ? Windows XP újratelepítésnél a Recovery CD-vel leformáztattam a D:/ meghajtót  is... Most így van éppen:

C:/ - Windows XP
D:/ - Fontos dolgok (progik telepít?je, stb.)
V:/ - Vistának el?készítve (még teljesen üres)
Majszter:Elindítod a parancssort, klikk az ablak bal fels? sarkában, "Alapértelmezések"-ben átállítod a hátteret, a szövegszínt, és máris más színü az összes parancsor ablak.

2007-04-02 00:14
Esetleg a prompt-ot lehetne még átvésni.
én a fehér háteret akarom az aero-ban el állitanni
kiégeti a szemmem a fehér