यहाँ एक PowerShell स्क्रिप्ट मैंने हाल ही में लिखा है कि आप क्या चाहते करने के लिए अनुकूलित किया जा सकता है:
# Updates IIS bindings across all sites by replacing all occurrences
# of $searchString for $replaceString in the binding host header.
# Note that the search and replace is case insensitive.
$searchString = "ovh-ws0"
$replaceString = "ovh-ws1"
foreach ($website in Get-Website) {
"Site: {0}" -f $website.name
$bindings = Get-WebBinding -Name $website.name
foreach ($binding in $website.bindings.Collection) {
$bindingInfo = $binding.bindingInformation
" Binding: {0}" -f $bindingInfo
if ($bindingInfo -imatch $searchString) {
$oldhost = $bindingInfo.Split(':')[-1]
$newhost = $oldhost -ireplace $searchString, $replaceString
" Updating host: {0} ---> {1}" -f $oldhost, $newhost
Set-WebBinding -Name $website.name -BindingInformation $bindingInfo -PropertyName "HostHeader" -Value $newhost
}
}
}
और यह ऊपर स्क्रिप्ट से एक नमूना उत्पादन होता है:
Site: alpha
Binding: 100.101.102.103:80:alpha.redacted.com
Binding: 100.101.102.103:80:ovh-ws0-alpha.redacted.com
Updating host: ovh-ws0-alpha.redacted.com ---> ovh-ws1-alpha.redacted.com
Binding: 100.101.102.103:443:ovh-ws0-alpha.redacted.com
Updating host: ovh-ws0-alpha.redacted.com ---> ovh-ws1-alpha.redacted.com
Binding: 100.101.102.103:443:alpha.redacted.com
Site: beta
(etc)
Site: release
(etc)
बेशक, स्क्रिप्ट को अन्य तरीकों से बाइंडिंग को संशोधित करने के लिए अनुकूलित किया जा सकता है। उदाहरण के लिए, निम्न स्क्रिप्ट आई पी पतों को अपडेट कर देगा:
# Updates IIS bindings across all sites by replacing all IP addresses from $oldIP to $newIP.
$oldIP = "100.101.102.103"
$newIP = "*"
foreach ($website in Get-Website) {
"Site: {0}" -f $website.name
$bindings = Get-WebBinding -Name $website.name
foreach ($binding in $website.bindings.Collection) {
$bindingInfo = $binding.bindingInformation
" Binding: {0}" -f $bindingInfo
if ($bindingInfo -imatch $oldIP) {
" Updating IP: {0} ---> {1}" -f $oldIP, $newIP
Set-WebBinding -Name $website.name -BindingInformation $bindingInfo -PropertyName "IPAddress" -Value $newIP
}
}
}
स्रोत
2017-11-09 15:31:06
मुझे नहीं लगता कि इस समाधान काफी अच्छा है, तो आप एक से अधिक है, क्योंकि यह सब बाइंडिंग को नष्ट करेगा है और सिर्फ निर्दिष्ट एक साथ छोड़। –
मैं इस बात से सहमत नहीं हूं कि यह वास्तव में प्रश्न का उत्तर देता है, लेकिन मुझे लगता है कि यह आईआईएस के खिलाफ शक्तियों के साथ अच्छा है। मैं जो देखना चाहता हूं वह कुछ है '$ बी = गेट-वेब बाइंडिंग; $ b.SetAttribute ('पोर्ट', 99 99); $ बी। सेव; 'लेकिन यह काम नहीं करता है। मैं डाउनवोट को तब तक नहीं हटा सकता जब तक आप उत्तर (!) ... अजीब नहीं बदलते। –
परिवर्तन के माध्यम से जवाब में चम्मच समाधान प्रदान किया गया है। कृपया अपने डाउनवोट की समीक्षा करें। – JonnyG