किसी को भी मुझे कैसे लिपि में MSMQ कतारों पर अनुमतियों को सेट करने के लिए, खासकर PowerShell पर कुछ संकेत दे सकते हैं, लेकिन मैं VBscriptसेटिंग अनुमतियाँ
उत्तर
एक वर्तमान इस सवाल का (2015) दिन जवाब।
उदाहरण:
New-MsmqQueue -Name "MyQueue" -QueueType Private
Get-MsmqQueue -Name "MyQueue" -QueueType Private |
Set-MsmqQueueAcl -UserName "Everyone" -Allow FullControl
करने के लिए लागू होता है: Windows 8.1, विंडोज PowerShell 4.0, विंडोज सर्वर 2012 R2
संदर्भ: https://technet.microsoft.com/en-us/library/dn391735(v=wps.630).aspx
इस के लिए powershell में निर्मित कुछ भी नहीं है का उपयोग करेंगे, लेकिन आप .NET फ्रेमवर्क कक्षाओं का उपयोग कर सकते हैं। बस System.Messaging.dll लोड करें और कतार पर ACL को बदलने के लिए MessageQueue.SetPermissions() का उपयोग करें।
और यहां ... लंबाई
Write-Host ""
Write-Host "Examples using the .NET System.Messaging assembly to access MSMQ"
Write-Host ""
Write-Host "... load the .NET Messaging assembly"
[Reflection.Assembly]::LoadWithPartialName("System.Messaging")
Write-Host ""
if ([System.Messaging.MessageQueue]::Exists(".\private$\MyQueue"))
{
[System.Messaging.MessageQueue]::Delete(".\private$\MyQueue")
Write-Host "... delete old myqueue"
}
if ([System.Messaging.MessageQueue]::Exists(".\private$\BtsQueue"))
{
[System.Messaging.MessageQueue]::Delete(".\private$\BtsQueue")
Write-Host "... delete old btsqueue"
}
Write-Host "... create a new queue"
$q1 = [System.Messaging.MessageQueue]::Create(".\private$\MyQueue")
Write-Host "... create new queue, set FullControl permissions for CORP\BIZTALK"
$qb = [System.Messaging.MessageQueue]::Create(".\private$\BtsQueue")
$qb.SetPermissions("CORP\BIZTALK",
[System.Messaging.MessageQueueAccessRights]::FullControl,
[System.Messaging.AccessControlEntryType]::Set)
Write-Host "... list existing queues"
$pqs = [System.Messaging.MessageQueue]::GetPrivateQueuesByMachine(".")
Write-Host " Count: "$pqs.length -ForegroundColor gray
foreach($q in $pqs)
{
Write-Host " "$q.QueueName -ForegroundColor gray
}
Write-Host "... access existing queue"
$q2 = New-Object System.Messaging.MessageQueue ".\private$\MyQueue"
Write-Host "... adding string Formatter and additional properties "
$q2.Formatter.TargetTypeNames = ,"System.String"
$q2.MessageReadPropertyFilter.ArrivedTime = $true
$q2.MessageReadPropertyFilter.SentTime = $true
Write-Host "... create a new High priorty message "
$msg = New-Object System.Messaging.Message "TestMessage"
$msg.label = "Test Msg Label"
$msg.body = "Add some body to test message"
$msg.priority = [System.Messaging.MessagePriority]::High
Write-Host "... send the High message"
$q2.send($msg)
$msg.body = "Some more text for the test message"
$msg.priority = [System.Messaging.MessagePriority]::Low
Write-Host "... send the Low message"
$q2.send($msg)
Write-Host "... check the queue "
Write-Host " Count: "$q2.GetAllMessages().length -ForegroundColor gray
Write-Host "... peek at queue"
$ts = New-Object TimeSpan 10000000 # 1 sec. timeout just in case MSMQ is empty
$pk = $q2.Peek($ts)
Write-Host " ArrivedTime: "$pk.ArrivedTime.DateTime -ForegroundColor gray
Write-Host " SentTime : "$pk.SentTime.DateTime -ForegroundColor gray
Write-Host "... check the queue "
Write-Host " Count: "$q2.GetAllMessages().length -ForegroundColor gray
Write-Host "... receive from queue"
$rmsg = $q2.receive($ts)
Write-Host " Body : "$rmsg.body -ForegroundColor gray
Write-Host " Label: "$rmsg.label -ForegroundColor gray
Write-Host "... check the queue "
Write-Host " Count: "$q2.GetAllMessages().length -ForegroundColor gray
Write-Host "... purge the queue "
$q2.Purge()
Write-Host "... check the queue "
Write-Host " Count: "$q2.GetAllMessages().length -ForegroundColor gray
Write-Host ""
Write-Host "All done, but remember to delete the test queues !!"
यह अब अप्रचलित है - @Davids जवाब काफी बेहतर है। –
यह जो विंडोज 7 या पूर्व विंडोज सर्वर 2012 R2 चला रहे हैं उन लोगों के लिए एक महान जवाब है। अन्यथा, @GregSansom सही है। इस उत्तर को पोस्ट करने के लिए धन्यवाद। 'Get-MsmqQueue' के बजाय – fourpastmidnight
विंडोज 2012 और 8.1 अब MSMQ cmdlets के बारे में खेद अनुमतियाँ सेट करने सहित PowerShell कुछ उदाहरण है। एक कतार पर अनुमतियों को स्थापित करने के लिए एक है: सेट-MsmqQueueAcl
- 1. PHP mkdir() अनुमतियाँ
- 2. Homebrew स्थापित अनुमतियाँ मुद्दा
- 3. पायथन - परीक्षण निर्देशिका अनुमतियाँ
- 4. MongoDB डेटा निर्देशिका अनुमतियाँ
- 5. django/फ़ाइल अपलोड अनुमतियाँ
- 6. आरवीएम मणि अनुमतियाँ त्रुटि
- 7. सेवा नियंत्रक अनुमतियाँ
- 8. java.lang.UnsupportedOperationException: 'posix: अनुमतियाँ' Windows
- 9. MySQL अनुमतियाँ समस्या - गैर-समस्या
- 10. गिट पुश सम्मान अनुमतियाँ बनाना?
- 11. प्रति-वस्तु अनुमतियाँ जोड़ने व्यवस्थापक
- 12. rsync तैनाती और फ़ाइल/निर्देशिका अनुमतियाँ
- 13. आईआईएस AppPoolIdentity और फ़ाइल सिस्टम लेखन अनुमतियाँ
- 14. बदलने अनुमतियाँ "कार्रवाई की अनुमति नहीं"
- 15. सेटिंग एप्लिकेशन
- 16. एनएफसी सेटिंग
- 17. सेटिंग तार
- 18. Daydream सेटिंग
- 19. नियंत्रण के साथ समानता सेटिंग सेटिंग ट्रांसफर विधि
- 20. उद्देश्य-सी में सेटिंग प्रबंधन और सेटिंग पॉइंटर्स को
- 21. सेटिंग डिफ़ॉल्ट स्थान
- 22. सेटिंग iFrame src क्रोम
- 23. सेटिंग चर मान()
- 24. जेबॉस लेनदेन टाइमआउट सेटिंग?
- 25. वर्डप्रेस प्लगइन सेटिंग डेटा
- 26. Django विशिष्ट सेटिंग
- 27. गिट - सेटिंग पथ परिवर्तनीय
- 28. सेटिंग सर्वर पर phpMyAdmin
- 29. सेटिंग app.config बनाम फाइल
- 30. चेतावनी सेटिंग कैसे बदलें?
आप 'newQueue = New-MsmqQueue ...' और फिर' $ newQueue भी कर सकते हैं। सेट-MsmqQueueAcl ... ' – Greg