2013-07-11 30 views
4

我已經使用以下Link將MSMQ功能安裝到服務器(win 2008 R2)和客戶端計算機(win 7)上。該功能出現在服務器管理器中,我可以通過GUI創建公共或女貞隊列。但是當我嘗試通過PowerShell(2.0)在服務器上本地訪問隊列時,在shell中沒有識別出MSMQ的Cmdlet's通過PowerShell訪問MSMQ

是否有任何進一步的步驟需要通過PowerShell訪問MSMQ?是否有我需要加載的MSMQ模塊?

任何意見,將不勝感激。

+0

你會得到什麼錯誤? –

+0

錯誤是標準無法識別的cmdlet:'術語'Get-MsmqQueue'未被識別爲cmdlet的名稱。' – Richard

回答

4

如果您在您提供的鏈接中單擊了一個級別,就會看到您正在查看PowerShell 4.0的預發佈模塊文檔。這是到父頁面的鏈接。

http://technet.microsoft.com/en-us/library/dn249523.aspx

PowerShell的社區擴展(PSCX)具有與MSMQ工作的一些的cmdlet,並使用PowerShell 2.0的作品,雖然。

+0

arr我看到我現在所做的工作,我找到了正確的語法謝謝。 – Richard

+0

實際上,Mike,_your_鏈接是用於pre-release 4.0的,但理查德的鏈接顯然是用於PowerShell 3--但是僅用於Win Server 2012和Win 8,因此他的問題......這恰好也是我的問題,因爲發佈[這裏](ttp://serverfault.com/q/534991/14413)。 –

+0

我沒有在這些頁面上看到PowerShell版本,這讓我認爲自從原始答案以來它們已經更新。 「鏈接上一層」 –

3

下面的方法工作在PowerShell 2.0中:

$query = "SELECT * FROM Win32_PerfRawData_MSMQ_MSMQQueue" 

看那__PATH屬性將在請將.Name結束= 「theQueueName」:

$query = "SELECT MessagesinQueue FROM Win32_PerfRawData_MSMQ_MSMQQueue WHERE Name = 'myPrivateQueueName'" 
$wmiObject = Get-WmiObject -Query $query 
$wmiObject.MessagesinQueue 

你可以利用這個查詢列表隊列