Soci (Soczó Zsolt) szakmai blogja

2018.03.07.

.NET Rocks letöltése kocsiban hallgatáshoz

Filed under: PowerShell,Szakmai élet — Soczó Zsolt @ 22:03

Másold be egy ps1 fájlba, és hagyd úgy éjszakára, reggelre ott lesz az egész.

function GetFeedPageCount ($url) {
  $feed=(New-Object System.Net.WebClient).DownloadString($url)
  $pageCount = $feed.rss.channel.pageCount
  return $pageCount;
}

function DownloadFeed ($url) {
  $feed=(New-Object System.Net.WebClient).DownloadString($url)
  foreach($i in $feed.rss.channel.item) {
    $url = New-Object System.Uri($i.enclosure.url)
    $url.ToString()
    $url.Segments[-1]
    $localFile = $url.Segments[-1]
    if (Test-Path($localFile)) {
      Write-Host "Skipping file, already downloaded"
    }
    else
    {
      Invoke-WebRequest $url -OutFile $url.Segments[-1]
    }
  }
}

# Related blog post here: http://blogs.msdn.com/b/cdndevs/archive/2014/11/18/azure-fridays-a-powershell-script-to-download-rss-videos.aspx

$feedUrl = "http://www.pwop.com/feed.aspx?show=dotnetrocks&filetype=master"
DownloadFeed($feedUrl)

2008.08.12.

Elegáns Powershell script XML feldolgozásra

Filed under: PowerShell,Scripting,Szakmai élet,Visual Studio — Soczó Zsolt @ 22:39

Az itt látható példa azokat a C# kódfájlokat listázza ki, amelyek árván maradtak, azaz ott vannak a fájlrendszerben, de nincsenek benne egy csproj fájlban.
Az egész számomra azért érdekes, mert szerintem igen tömören és elegánsan parsolják az xml csproj fájlt Powershellel.
A lopás árnyékát el nem kerülve, de idemásolom a példát a fenti forrástól:

param([string]$csproj = $(throw 'csproj file is required'))

$csproj = Resolve-Path $csproj
$dir = Split-Path $csproj

# get the files that are included in compilation
$xml = (Get-Content $csproj)
$files_from_csproj = $xml.project.itemgroup | 
	%{ $_.Compile } | 
	%{ $_.Include } |
	?{ $_ } | 
	%{ Join-Path $dir $_ } |
	Sort-Object

# get the files from the dir
$files_from_dir = Get-ChildItem $dir -Recurse -Filter *.cs |
	%{ $_.FullName } |
	Sort-Object
	
Compare-Object $files_from_csproj $files_from_dir

2008.02.18.

Script Elevation PowerToys for Windows Vista

Filed under: PowerShell,Scripting,Security,Szakmai élet,Vista — Soczó Zsolt @ 18:57

Hogy én ezt eddig nem láttam. Pedig jó az UAC ellen. :)

2008.01.31.

Powershell Custom Methods and Properties

Filed under: .NET,PowerShell,Szakmai élet — Soczó Zsolt @ 22:51

Soós Tibi powershellt tanul, ez lelkessé tett engem is. Én ugyan már túl vagyok az alap szintaxon, de a példái kapcsán érdekel, mi történik a háttérben.

Legutóbb ojjektumok properyjét listázgatta, formázgatta. Nyilván .NET programolóként tudjuk, hogy ez a reflection triviális felhasználása, de nem is ez a lényeg belőle. A kérdés akkor vált érdekessé, amikor elkezdte rendeztetni a Hastable-ben levő ojjektumokat ($result). A Hastable egy nagy ojjektumként megy át a csövön, ezért azon nincs mit rendezni. A példa GetEnumerator() hívása ravasz trükk. Ennek hatására a csőbe behullanak a cuccosok mint DictionaryEntry ojjektumok. Ez már egy sima, sik tömb, System.Array. Cool.
Ezt kéne rendeztetni, a Key propery alapján. Tibi viszont Name-et írt, és jól működött. Ez elgondolkodtatott. Miért megy ez jól, mikor nincs is Name-je a DictionaryEntry-nek?

No, hát a címbeli Custom Methods and Property-k miatt. Merthogy, a jámbor rendszergazda a saját szemüvegén keresztül látja a dolgokat, ő nem programoló. Ezért egyes nehezen emészthető fogalmakat, mint Key álnevekkel látnak el. Ezek xml fájlokban vannak, pl. a types.ps1xml-ben van elég sok. Konkrét alanyunk így néz ki:

   <Type>
        <Name>System.Collections.DictionaryEntry</Name>
        <Members>
            <AliasProperty>
                <Name>Name</Name>
                <ReferencedMemberName>Key</ReferencedMemberName>
            </AliasProperty>
        </Members>
    </Type>

Teccik látni, ezért érti a Sort-Object a Key helyett a Name property-t.

(A címbe majdnem bedobtam a Microsoft Powers Hell viccet, de ez már szakállas, nem?)

2007.06.14.

Free Powershell könyvecske

Filed under: PowerShell,Szakmai élet — Soczó Zsolt @ 09:08

Nem hosszú, de kezdőkönyvnek tökéletes lehet.

2006.12.08.

Powershell bevezető

Filed under: .NET,IIS,PowerShell,Scripting,Szakmai élet — Soczó Zsolt @ 09:29

Némi IIS7-tel fűszerezve. 10 perces kis olvasmány, az a csóka műve, aki az msdn magazinban a tesztelős cikkeket írja. Értelmes ember, értelmes cikk.

Powered by WordPress