سؤال

لقد كنت أبحث في مايكروسوفت.الويب.الإدارة.دل وفئة سيرفرماناجر ، في محاولة للسيطرة على لدينا ويندوز سيرفر 2008 إيس 7 المثال.

لقد مكنت الإدارة عن بعد ويمكن الاتصال عبر أداة الإدارة عن بعد إيس ، ولكن عندما أحاول واستخدام ما يلي لا أستطيع الاتصال:

ServerManager.OpenRemote(serverName);

لا تسمح لي هذه الفئة بتحديد اسم مستخدم وكلمة مرور على خادم إيس 7 البعيد ، كما تفعل أداة المشرف عن بعد إيس.

كل هذا يتم استدعاؤه عبر عملية البناء الخاصة بنا باستخدام نانت.

كيف يتحكم الآخرون في خادم إيس 7 البعيد كجزء من إعداد سي?

هل كانت مفيدة؟

المحلول 3

كتبت خدمة WCF في النهاية، والتي تعمل على الجهاز البعيد كخدمة.تعمل الخدمة تحت حساب محلي مع حقوق المسؤول بحيث يمكن تغيير مثيل IIS المحلي على هذا الجهاز.

من برنامج My Nant Script لدي سلسلة من المهام المخصصة التي التواصل مع خدمة WCF وتغيير إعدادات IIS كما هو مطلوب.

لأن هذه هي بيئة دائمة داخلية، وأنا لست قلقا جدا بشأن الأمن والتغييرات الفعلية في IIS I IM المسموح بها هي أساسية للغاية.

نصائح أخرى

ستحتاج إلى تشغيل التطبيق ضمن مستخدم المجال (مستخدم Active Directory) الذي يحتوي على الأذونات الصحيحة لتغيير ملفات التكوين.

مصادقة Windows ستفعل الباقي.

كما يقول أوديد ، تحتاج الدليل النشط لتكون قادرة على فتح اتصال إلى ملقم بعيد باستخدام ServerManager.

على افتراض أن لديك مسؤول رديب الوصول إلى الخادم هناك بديل وهو استخدام وينرم و بوويرشيل البعيد (يعمل بشكل أفضل مع بويرشيل 2.0 الذي يأتي مع أحدث إصدار من وينرم) في البرامج النصية بناء الخاص بك:

ويندوز الإدارة عن بعد أداة سطر الأوامر (وينرم.كمد)

لتكوين بسرعة وينرم لجهازين ليست في مجال:

العميل:

winrm quickconfig  (just say yes)
winrm set winrm/config/Client/Auth '@{Basic="true"}'
:: Only do this next line if not using HTTPS
winrm set winrm/config/Client '@{AllowUnencrypted="true"}'
winrm set winrm/config/Client '@{TrustedHosts="hostname_or_ip"}'

الخادم:

winrm quickconfig (just say yes)
winrm set winrm/config/Service/Auth '@{Basic="true"}'

:: See: http://support.microsoft.com/kb/2019527 regarding https
winrm quickconfig -transport:https

:: Only do this if not using HTTPS AND you are happy about sending credentials
:: in clear text.
winrm set winrm/config/Service '@{AllowUnencrypted="true"}'

الآن هناك بعض المحاذير.سوف ينرم لكمة ثقب في جدار حماية ويندوز للمنافذ 5985 و 5986 للمستمع (إذا كان تشغيل ويندوز 2003 انها سوف تستخدم المنفذ 80 و 443).هذا قد لا يكون ترضيك وربما كنت أفضل التحدث إلى مسؤولي الشبكة حول كيفية تأمين ذلك.

وبمجرد الانتهاء من تكوين وينرم ستحتاج حساب المستخدم تكوين على الملقم البعيد الذي هو عضو في مجموعة المسؤولين.وبمجرد القيام به يمكنك ثم اختبار.على خادم البناء:

# the following line will prompt for a username and password, enter the name of the account
# you just configured on the IIS box
$cred = Get-Credential

# next test the connection
Test-WSMan -ComputerName <server_name_or_ip> -Authentication default `
           -Credential $cred

إذا كان كل شيء جيد يجب أن تشاهد الرد التالي:

wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.x
                  sd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 6.1.7600 SP: 0.0 Stack: 2.0

والشيء التالي هو الاتصال بجلسة بوويرشيل عن بعد:

Enter-PSSession <server_name_or_ip> -Authentication default -Credential $cred

إذا كان هذا ناجحا يجب أن يكون لديك موجه بوويرشيل على الجهاز البعيد.

باستخدام بوويرشيل عن بعد يمكنك بعد ذلك تحميل موفر ويبادمينيفيشن ل بويرشيل والتلاعب العديد من جوانب إيس لمحتوى قلوبكم:

إدارة الويب (إيس) مزود ويندوز بويرشيل

للاتصال بالخادم البعيد تحتاج إلى توفير PSCredential كائن.كما ذكر أعلاه سوف توفر هذا باستخدام:

$cred = Get-Credential

لكن هذا يتطلب دائما بعض التفاعل من لوحة المفاتيح لتوفير اسم مستخدم وكلمة مرور.ومن الواضح أن هذا ليس جيدا ل سي الآلي.

ومع ذلك ، يمكنك تخزين كلمة المرور في ملف.للقيام بذلك ، قم بتشغيل ما يلي مرة واحدة فقط (أو كلما تغيرت كلمة المرور):

read-host -assecurestring | convertfrom-securestring | out-file C:\securestring.txt

ثم عندما تحتاج إلى إنشاء الخاص بك PSCredential للمصادقة على الخادم البعيد:

$username = "deployment_user"
$password = cat C:\securestring.txt | convertto-securestring
$cred = new-object -typename System.Management.Automation.PSCredential `
         -argumentlist $username, $password

$serverNameOrIp = "192.168.1.1"
Enter-PSSession $serverNameOrIp -Authentication default -Credential $cred

تم الحصول على البرنامج النصي أعلاه من إدخال المدونة التالي ولكني قمت بتكرار الحفظ هنا فقط في حالة ظهور هذه المقالة مظلمة:

باستخدام بسكريدنتيالز دون موجه-جيكسويثبلوغز

على أي حال ، بمجرد الاتصال بالخادم البعيد ، يمكنك إصدار أوامر أخرى مثل:

Import-Module WebAdministration
CD IIS:\Sites

وهلم جرا.

يجب التعامل مع معظم ما سبق بحذر إذا كان هذا الجهاز يواجه الإنترنت والطريقة الوحيدة للوصول إليه هي عبر الإنترنت.إذا كان هذا هو الحال النظر في تقييد منافذ وينرم إلى فين فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top