2010-02-19 21 views
5

C# 'de bazı özel PowerShell Cmdlet'leri oluşturdum ve get-help cmdlet'ini kullanarak görüntülenecek bazı bilgileri sağlamak istiyorum; Örneğin. "yardım-cıvıldamak".Destek Özel PowerShell cmdlet'i edinme Yardımı

PSSnapIn'den türeyen temel bir ek bileşen oluşturdum ve Açıklama, Ad ve Satıcı özelliklerini geçersiz kıldım. Ayrıca "Cmdlets.dll-Help.xml" yardım dosyamı oluşturdum. Cmdlets.dll, here talimatı verilen derlemenin doğru adıdır.

çabuk bu yardımı test için aşağıdaki komut dosyası oluşturulur: Bu sadece cmdlet parametreleri hakkında bazı varsayılan yardım açmak gibi görünüyor

$ErrorActionPreference = "Stop" 
$scriptFolder = Split-Path $script:MyInvocation.MyCommand.Path 

$dll = ($scriptFolder + "\Release\x64\Cmdlets.dll") 
Write-Host "Testing Cmdlets in $dll" -fore Green 

[System.Reflection.Assembly] $assembly = [System.Reflection.Assembly]::LoadFrom($dll) 
Import-Module -assembly $assembly 

get-help get-latestfiles 

ama XML yazdım benim örneklerinden herhangi almak için başarısız dosya. Bunun neden olduğuna dair bir fikri var mı?

cevap

2

Çalışmama yardımcı olmak için iki sorun varmış gibi görünüyor. Birincisi, Powershell'in alınabilmesi için XML'nin Cmdlet DLL dosyasının çıkış dizinine kopyalanması gerektiğiydi.

Yardım dosyamda ikinci neden bir sorun olmuş gibi görünüyor. Bunun ne olduğundan emin değilim ama Powershell, hata eylemi tercihi durmak için ayarlanmış olsa bile sessizce başarısız görünüyordu. XML'i doğrudan C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ en-US \ Microsoft.PowerShell.Commands.Management.dll-Help.xml dosyasından kaldırmaya ve gereksinimlerime göre değiştirmeye son verdim.

1

Get-Help varsayılan olarak bir cmdlet'in yardımının bir alt kümesini gösterir. Parametre yardımı ve örnekleri görmek için -tam belirtin:

Get-Help Get-LatestFiles -Full 

mesele bu değilse o zaman bu PowerShell script that generates skeleton MAML files bir göz (değil gibi geliyor). Çalıştırın ve uygun yardımın görüntülenip görüntülenmediğini görmek için çıkışını kullanın.

+0

Maalesef başka bir şey eksik gibi görünüyor. Tam anahtarın belirtilmesi, Powershell 2'nin sağladığı varsayılan varsayılan yardımı görüntüler. – Jason