понедельник, 3 января 2011 г.

Лучше поздно чем никогда.

Совершенно случайно наткнулся на эту заметку. Основная идея в том, что есть возможность при помощи reflector “дизассемблировать” содержимое командлетов powershell. Вот таким вот образом:

function Reflect-Cmdlet {  
param([Management.Automation.CommandInfo]$command)
if ($input) {
trap { $_; break }
$command = $input | select -first 1
}

# resolve to command if this is an alias
while ($command.CommandType -eq "Alias") {
$command = Get-Command ($command.definition)
}

$name = $command.ImplementingType
$DLL = $command.DLL

if (-not (gcm reflector.exe -ea silentlycontinue)) {
throw "I can't find Reflector.exe in your path."
}

reflector /select:$name $DLL
}

get-command Get-WSManInstance | Reflect-Cmdlet

Для этого вам необходимо чтобы утилита reflector находилась в PATH.

Комментариев нет: