Po. Pro 30th, 2024
obrázek matrix konzole, která je zeleným písmem na černé konzoli. Bash bývá bílým písmem na tmavé konzoli, přičemž Powershell najdeme často buď bílým písmem na tmavé konzoli, či tmavě modré konzoli.

Možná jste se s tím již setkali, možná se s tím setkáváte stále, možná googlíte použitelné skripty a nic vám nefunguje. Tento návod počítá s tím, že máte Windows 10 a verzi powershellu odpovídající windows10 build 21H2.
Tento článek bude o odříkaném chlebu a jeho největším krajíci, protože víte, že Windows pro mě primární není a tak se jen udržuji v kondici.


V mém případě pro zjištění verze stačí napsat v powershellu příkaz:

$PSversionTable
A ten vypíše:
Name Value
---- -----
PSVersion 5.1.19041.1682
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
BuildVersion 10.0.19041.1682
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
(zdroj)

Výpis všech nainstalovaných programů Powershellem

Get-WmiObject Win32_product | select name, packagecache
(zdroj)

Odinstalace programu Powershell skriptem

Odinstalace nějakého programu celý skript.bat

REM --Toto je ODINSTALACNI SKRIPT --
 @echo off
 :: BatchGotAdmin
 :-------------------------------------
 REM  --> Check for permissions
 >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
 REM --> If error flag set, we do not have admin.
 if '%errorlevel%' NEQ '0' (
     echo Requesting administrative privileges...
         goto UACPrompt
         ) else ( goto gotAdmin )
         :UACPrompt
             echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
                 set params = %*:"=""
                     echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
                         "%temp%\getadmin.vbs"
                             del "%temp%\getadmin.vbs"
                                 exit /B
                                 :gotAdmin
                                     pushd "%CD%"
                                         CD /D "%~dp0"
                                         :-----------------------------------
wmic product where name="R for Windows 4.1.1" call uninstall
wmic product where name="RStudio" call uninstall
pause

Případně pokud už máte cmd konzoli s admin právy, tak vám stačí jen řádek:

wmic product where name=“Celý název programu včetně verze, jak to vypsal příkaz nahoře se seznamem všech programů“ call uninstall
A provede to totéž. Zbytek, tedy ta horní část skriptu jen vynutí při spuštění práva administrátora, pokud nejsou.

Automatické stažení a instalace programu Powershellem

Skript na automatické stažení a instalaci nějakého programu, uvedu příklad v podobě open-source programu pro statistické výpočty R:

ECHO OFF
bitsadmin.exe /transfer "R 4.2.1-win"/download /priority FOREGROUND https://cran.r-project.org/bin/windows/base/R-4.2.1-win.exe C:\Users\%USERNAME%\Downloads\r-4.2.1-win.exe
cd C:\Users\%USERNAME%\Downloads
ECHO "Zde můžete uživatele informovat o tom, že se mu zobrazí tabulka, ve které má kliknout na ANO a program se pak potichu nainstaluje. Další řádek je spuštění instalátoru programu s parametry /VERYSILENT, tedy tichou instalací a /NORESTART, tedy že se počítač po dokončení instalace nemá restartovat."
R-4.2.1-win.exe /VERYSILENT /LOG=instalacer-4-2-1.log /NORESTART /MERGETASKS=desktopicon
ECHO "Zde můžete uživatele informovat o tom, že je program nainstalován a že může stisknout libovolnou klávesu. 
credits: kvalitninavody.cz"
ECHO "Nainstalovaná verze programu: R 4.2.1"
PAUSE

Skript na kontrolu a opravu image Windows

Ideální po restartu, či výpadku elektřiny, když si potřebujete ověřit, že jsou Windows na stanici či notebooku v pořádku):
@echo off
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /RestoreHealth
SFC /scannow
PAUSE

V minulosti jsem tento skript uvedl v tomto článku spolu s dalším skriptem na automatické stažení, když si skript vystavíte na webovém serveru. V případě dnešního článku jsem se rozhodl sem vložit skript dodatečně.
Zdroje těchto dalších skriptů patrně nedohledám, věřte však, že nejsou z mé produkce a že jsem je vyhrabal někde na stack overflow, mezi haldou dalších nefunkčních. Primárně se zabývám bashem.

zdroj

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji v jedné osobě cca 100 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem jsem měl příležitost s dalšími kolegy řešit správu 8000 serverů po celé západní Evropě s vysokou mírou automatizace a poznávání nejrůznějších evropských pracovních mentalit. Dále jsem řešil hybridní cloud ve velké firmě, orientované na trhy střední a východní Evropy. Posledních několik let se věnuji Devops pro velké zákazníky v Azure cloudu, spravuji kubernetes (AKS), Gitlab.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *