PowerShell programovanie
PowerShell programovanie
Programovali ste už niekto v PowerShell?
Ake mate s PowerShellom skusenosti?
Da sa v praxy programovanie v PowerShelli dobre využiť?
Ake mate s PowerShellom skusenosti?
Da sa v praxy programovanie v PowerShelli dobre využiť?
Re: PowerShell programovanie
Ja som sa k tomu dostal v práci. Mali v tom napísané skripty na transformovanie SQL z jedného prostredia do druhého, alebo nejakú manipuláciu so súbormi. Bolo to určite lepšie ako nejaké hnusné bat súbory.
A zároveň mi to neprišlo ako niečo, čo by sa musel človek cielene učiť. Je dobré o tom vedieť a keď sa naskytne vhodná príležitosť, s pomocou internetu nie je ťažké v tom niečo napísať.
A zároveň mi to neprišlo ako niečo, čo by sa musel človek cielene učiť. Je dobré o tom vedieť a keď sa naskytne vhodná príležitosť, s pomocou internetu nie je ťažké v tom niečo napísať.
-
Mek
Addict
- Príspevky: 4661
- Registrovaný: 23 mar 2005, 23:00
- Bydlisko: ZA <-> TN
- Kontaktovať používateľa:
Re: PowerShell programovanie
Ano, v praci v nom robime pomerne casto. Ide o jednoduche skripty na periodicku kontrolu integrity dat v databazach a rozne dalsie pomocne utilitky. Syntax powershellu je sice nic moc, ale zvyknut sa da (horsie je, ze casom to clovek zase zabudne a musi googlit). Ale najviac sa mi paci, ze z powershellu sa daju volat metody z CLR, pripadne vlastnych nalinkovanych .NET kniznic.
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PowerShell programovanie
Ano robim v nom, je to skryprtovaci jazyk, takze necakaj ze v tom spravis nejaku velku aplikaciu.
Pouziva sa na konfiguraciu prostredia, nejake male admin skrypty, v poslupraci s Visual Studium a hôlavne pri nasdzovani vetcoich aplikacii.
Ja ho najcastejsie pouzivam pri instalcnych skryptoch nuget balickov.
Paci sa mi silne napojenie na .NET platformu, cokolvek co je v .Net-e vies zavolat cez PowerShell a ma to foreach.
Pouziva sa na konfiguraciu prostredia, nejake male admin skrypty, v poslupraci s Visual Studium a hôlavne pri nasdzovani vetcoich aplikacii.
Ja ho najcastejsie pouzivam pri instalcnych skryptoch nuget balickov.
Paci sa mi silne napojenie na .NET platformu, cokolvek co je v .Net-e vies zavolat cez PowerShell a ma to foreach.
Re: PowerShell programovanie
Nechcem v powershelli spravit ziadnu velku aplikaciu. Ak to powershell zvladne, chcem si vytvorit script, ktory by automaticky doplnil do OEM informacii, aby som to nemusel robit vzdy manualne a zdlhavo cez registre. Da sa nieco taketo naskriptit?
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PowerShell programovanie
Celkom dobre napísany kód.
Pre mna ma zbytočne funkcionality, ktoré nepotrebujem.
Nechal som sa inšpirovať a spravil som si svoj script.
Tu je:
Keď ho spustim, napíše mi tam chýby:
Čast s vytvorenim novej zložky a skopirovanie loga mi pracuje, ale časť vyplnenia registrov nie.
Pate s tymito chýbami skusenosti?
Viete mi poradiť kde v scripte mám chýbu, keď mi nepracuje vyplnenie registrov?
Pre mna ma zbytočne funkcionality, ktoré nepotrebujem.
Nechal som sa inšpirovať a spravil som si svoj script.
Tu je:
Kód: Vybrať všetko
write-host # Vloženy enter
write-host "Script sa začal vykonavať" # Oznamy spustenie scriptu
# Definovanie premennych
$oemPatchReg = "HKLM:\Software\Microsoft\Windows\CurrentVersion\OEMInformation" # Cesta k zložke registrov, v ktortej sa OEM Informacie nachadzaju
$oemDiskPatch = "$OSDISK\oem\" # Definovanie žložky, do ktorej sa ma logo skopirovať
$oemPatchLogo = "$PSScriptRoot\pictures\oemlogo.bmp" #Cesta k logu, ktore potrebujeme zobrazovať vo vlastnostiach pc
# Vytvorý novú zložku
New-Item -ItemType directory -Path $OSDISK\oem\
# Skopriovanie loga zo scriptovej zložky do zložky OEM
Copy-Item -Path $oemPatchLogo "$oemDiskPatch"
# Vyplnenie registrov
Set-ItemProperty -Path $oemPatchReg -Name Logo -Value $oemDiskPatch # Vloži logo do tento počitač-vlastnosti
Set-ItemProperty -Path $oemPatchReg -Name Manufacturer -Value "Nazov firmy s.r.o." # Názov firmy
Set-ItemProperty -Path $oemPatchReg -Name SupportPhone -Value "0903222333" # Telefonné číslo
Set-ItemProperty -Path $oemPatchReg -Name SupportHours -Value "Pondelok-Piatok, 8:00-16:30" # Pracovna doba
Set-ItemProperty -Path $oemPatchReg -Name SupportUrl -Value "http://www.nazov-firmy.sk" # Stranka firmy
write-host "Script dokončeny" # Oznamy uspešne dokončenie scriptu
Kód: Vybrať všetko
Script sa začal vykonavať
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 17.05.2016 14:54 oem
Set-ItemProperty : Requested registry access is not allowed.
At C:\Users\DeMi\Desktop\OEM Information - Maetoo\OEM Information.ps1:16 char:1
+ Set-ItemProperty -Path $oemPatchReg -Name Logo -Value $oemDiskPatch # ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...\OEMInformation:String) [Set-ItemProperty], SecurityException
+ FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.SetItemPropertyCommand
Set-ItemProperty : Requested registry access is not allowed.
At C:\Users\DeMi\Desktop\OEM Information - Maetoo\OEM Information.ps1:17 char:1
+ Set-ItemProperty -Path $oemPatchReg -Name Manufacturer -Value "Nazov ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...\OEMInformation:String) [Set-ItemProperty], SecurityException
+ FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.SetItemPropertyCommand
Set-ItemProperty : Requested registry access is not allowed.
At C:\Users\DeMi\Desktop\OEM Information - Maetoo\OEM Information.ps1:18 char:1
+ Set-ItemProperty -Path $oemPatchReg -Name SupportPhone -Value "090322 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...\OEMInformation:String) [Set-ItemProperty], SecurityException
+ FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.SetItemPropertyCommand
Set-ItemProperty : Requested registry access is not allowed.
At C:\Users\DeMi\Desktop\OEM Information - Maetoo\OEM Information.ps1:19 char:1
+ Set-ItemProperty -Path $oemPatchReg -Name SupportHours -Value "Pondel ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...\OEMInformation:String) [Set-ItemProperty], SecurityException
+ FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.SetItemPropertyCommand
Set-ItemProperty : Requested registry access is not allowed.
At C:\Users\DeMi\Desktop\OEM Information - Maetoo\OEM Information.ps1:20 char:1
+ Set-ItemProperty -Path $oemPatchReg -Name SupportUrl -Value "http://w ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...\OEMInformation:String) [Set-ItemProperty], SecurityException
+ FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.SetItemPropertyCommand
Script dokončeny
Pate s tymito chýbami skusenosti?
Viete mi poradiť kde v scripte mám chýbu, keď mi nepracuje vyplnenie registrov?
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PowerShell programovanie
Mas to tam napisane, ten skrypt nema prava pracovat z registramy, skus ho spustit ako admin, alebo ak nepomoze tak zmen ExecutionPolicy
Re: PowerShell programovanie
Spustil som Powershell ako administratora. Otvoril script a spustil.
Script fungoval na prvykrat.
Co je toExecutionPolicy?
Ako sa nastavuje?
Pocul som, ze v PowerShelli sa da vlozit nejaky kod, a ze ked otvorim
script bude hned spusteny ako administrator bez toho, aby som ja
musel spustat PowerShell ako administratora.
Ako to nastavit? Mate s tym skusenosti?
Script fungoval na prvykrat.
Co je toExecutionPolicy?
Ako sa nastavuje?
Pocul som, ze v PowerShelli sa da vlozit nejaky kod, a ze ked otvorim
script bude hned spusteny ako administrator bez toho, aby som ja
musel spustat PowerShell ako administratora.
Ako to nastavit? Mate s tym skusenosti?
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: PowerShell programovanie
Googlil som. Nasiel som aj stranku, ktoru si publikoval.
V PowerShelli som spravil prvy script, nemam s nim moc skusenosti,
takze navod na stranke neviem vyuzit. Keby som to vedel vyuzit,
nepisal by som sem na stranku.
V PowerShelli som spravil prvy script, nemam s nim moc skusenosti,
takze navod na stranke neviem vyuzit. Keby som to vedel vyuzit,
nepisal by som sem na stranku.
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa: