PowerShellOnTargetMachines@3 - مهمة PowerShell على الأجهزة المستهدفة v3

استخدم هذه المهمة لتنفيذ البرامج النصية PowerShell على الأجهزة البعيدة باستخدام PSSession Invoke-Command للاتصال عن بعد.

استخدم هذه المهمة لتنفيذ برامج PowerShell النصية على الجهاز (الأجهزة) البعيدة. يستخدم هذا الإصدار من المهمة PSSession و Invoke-Command للاتصال عن بعد.

بناء الجملة

# PowerShell on target machines v3
# Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
- task: PowerShellOnTargetMachines@3
  inputs:
    Machines: # string. Required. Machines. 
    #UserName: # string. Username. 
    #UserPassword: # string. Password. 
  # Script options
    #ScriptType: 'Inline' # 'FilePath' | 'Inline'. Script Type. Default: Inline.
    #ScriptPath: # string. Required when ScriptType = FilePath. Script File Path. 
    InlineScript: # string. Required when ScriptType = Inline. Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #InitializationScript: # string. Optional. Use when ScriptType = FilePath. Initialization script. 
    #SessionVariables: # string. Optional. Use when ScriptType = FilePath. Session Variables. 
  # PSSession options
    #CommunicationProtocol: 'Https' # 'Http' | 'Https'. Protocol. Default: Https.
    #AuthenticationMechanism: 'Default' # 'Default' | 'Credssp'. Authentication. Default: Default.
    #NewPsSessionOptionArguments: '-SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block' # string. Session Option parameters. Default: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.
  # Error handling options
    #ErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.
    #ignoreLASTEXITCODE: false # boolean. Ignore $LASTEXITCODE. Default: false.
  # Advanced
    #WorkingDirectory: # string. Working Directory. 
    #RunPowershellInParallel: true # boolean. Run PowerShell in Parallel. Default: true.
# PowerShell on Target Machines v3
# Execute PowerShell scripts on remote machine(s). This version of the task uses PSSession and Invoke-Command for remoting.
- task: PowerShellOnTargetMachines@3
  inputs:
    Machines: # string. Required. Machines. 
    #UserName: # string. Username. 
    #UserPassword: # string. Password. 
  # Script options
    #ScriptType: 'Inline' # 'FilePath' | 'Inline'. Script Type. Default: Inline.
    #ScriptPath: # string. Required when ScriptType = FilePath. Script File Path. 
    InlineScript: # string. Required when ScriptType = Inline. Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #InitializationScript: # string. Optional. Use when ScriptType = FilePath. Initialization script. 
    #SessionVariables: # string. Optional. Use when ScriptType = FilePath. Session Variables. 
  # PSSession options
    #CommunicationProtocol: 'Https' # 'Http' | 'Https'. Protocol. Default: Https.
    #AuthenticationMechanism: 'Default' # 'Default' | 'Credssp'. Authentication. Default: Default.
    #NewPsSessionOptionArguments: '-SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block' # string. Session Option parameters. Default: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.
  # Error handling options
    #ErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.
    #ignoreLASTEXITCODE: false # boolean. Ignore $LASTEXITCODE. Default: false.
  # Advanced
    #WorkingDirectory: # string. Working Directory. 
    #RunPowershellInParallel: true # boolean. Run PowerShell in Parallel. Default: true.

الإدخالات

Machines - الات
string. مطلوب

يحدد قائمة مفصولة بفواصل من FQDNs للجهاز أو عناوين IP، وتتضمن اختياريا رقم المنفذ. يمكن أن يكون:

  • اسم مجموعة موارد Azure.
  • قائمة محددة بفواصل بأسماء الأجهزة. مثال: dbserver.fabrikam.com,dbserver_int.fabrikam.com:5986,192.168.34:5986
  • متغير إخراج من مهمة سابقة.

إذا لم تحدد منفذا، فسيتم استخدام منفذ WinRM الافتراضي. يعتمد هذا على البروتوكول الذي قمت بتكوينه. بالنسبة إلى WinRM 2.0، يكون منفذ HTTP الافتراضي هو 5985 ومنفذ HTTPS الافتراضي هو 5986.


UserName - المستخدم
string.

يحدد اسم المستخدم لمجال أو حساب إداري محلي على المضيف (المضيفين) الهدف.

  • يتم دعم تنسيقات مثل usernameو machine-name\usernamedomain\usernameو و.\username.
  • تنسيقات UPN مثل username@domain.com وحسابات النظام المضمنة مثل NT Authority\System غير مدعومة.

UserPassword - كلمه المرور
string.

يحدد كلمة المرور للأجهزة المستهدفة. المتغيرات المحددة في تعريفات الإنشاء/الإصدار كما $(passwordVariable) هي مقبولة. يمكنك وضع علامة على نوع المتغير على أنه secret لتأمينه.


ScriptType - نوع البرنامج النصي
string. القيم المسموح بها: FilePath (مسار الملف)، Inline. القيمة الافتراضية: Inline.

يحدد نوع البرنامج النصي المراد تنفيذه: Inline أو File Path.


ScriptPath - مسار ملف البرنامج النصي
string. مطلوب عند ScriptType = FilePath.

يحدد موقع البرنامج النصي PowerShell على الأجهزة الهدف أو على مسار UNC، مثل C:\BudgetIT\Web\Deploy\Website.ps1، والذي يجب أن يكون متاحا من الجهاز الهدف.


InlineScript - البرنامج النصي
string. مطلوب عند ScriptType = Inline. القيمة الافتراضية: # Write your powershell commands here.\n\nWrite-Output "Hello World".


ScriptArguments - وسيطات البرنامج النصي
string. ‏‏اختياري. استخدم عندما ScriptType = FilePath.

يحدد وسيطات البرنامج النصي PowerShell. يمكن أن تكون معلمات ترتيبية أو مسماة، مثل -testParam الاختبار. على سبيل المثال -applicationPath $(applicationPath)، -username $(vmusername)، -password $(vmpassword).


InitializationScript - البرنامج النصي للتهيئة
string. ‏‏اختياري. استخدم عندما ScriptType = FilePath.

يحدد موقع البرنامج النصي للبيانات ل DSC على الأجهزة الهدف أو على مسار UNC، مثل C:\BudgetIT\Web\Deploy\WebsiteConfiguration.ps1. يوصى باستخدام الوسيطات بدلا من برنامج نصي للتهيئة.


SessionVariables - متغيرات الجلسة
string. ‏‏اختياري. استخدم عندما ScriptType = FilePath.

يستخدم لإعداد متغيرات جلسة العمل لنصوص PowerShell النصية.
يحدد قائمة مفصولة بفواصل، مثل $varx=valuex, $vary=valuey. الأكثر استخداما للتوافق مع الإصدارات السابقة من خدمة الإصدار. يوصى باستخدام الوسيطات بدلا من متغيرات الجلسة.


CommunicationProtocol - البروتوكول
string. القيم المسموح بها: Http، . Https القيمة الافتراضية: Https.

يحدد البروتوكول الذي يجب استخدامه لاتصال خدمة WinRM مع الجهاز (الأجهزة). القيمة الافتراضية هي HTTPS.


AuthenticationMechanism - المصادقه
string. القيم المسموح بها: Default، . Credssp القيمة الافتراضية: Default.

يحدد آلية المصادقة المستخدمة لإنشاء PSSession. للمصادقة CredSSP ، حقول اسم المستخدم وكلمة المرور إلزامية.


NewPsSessionOptionArguments - معلمات خيار الجلسة
string. القيمة الافتراضية: -SkipCACheck -IdleTimeout 7200000 -OperationTimeout 0 -OutputBufferingMode Block.

خيارات متقدمة لجلسة عمل بعيدة (New-PSSessionOption). على سبيل المثال، ، -SkipCACheck-SkipCNCheck، -SkipRevocationCheck، إلخ. راجع قائمة كاملة بجميع خيارات الجلسة لمعرفة المزيد.


ErrorActionPreference - ErrorActionPreference
string. القيم المسموح بها: stop، ، continue. silentlyContinue القيمة الافتراضية: stop.

إلحاق السطر $ErrorActionPreference = 'VALUE' في أعلى البرنامج النصي الخاص بك.


failOnStderr - فشل عند الخطأ القياسي
boolean. القيمة الافتراضية: false.

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


ignoreLASTEXITCODE - تجاهل $LASTEXITCODE
boolean. القيمة الافتراضية: false.

إذا تم تعيينه إلى false، يتم تنفيذ السطر if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } في نهاية البرنامج النصي الخاص بك. يؤدي هذا إلى نشر رمز الخروج الأخير من أمر خارجي كتعلم برمجي للخروج من PowerShell. وإلا، لا يتم تنفيذ السطر حتى نهاية البرنامج النصي الخاص بك.


WorkingDirectory - دليل العمل
string.

يحدد دليل العمل حيث يتم تشغيل البرنامج النصي.


RunPowershellInParallel - تشغيل PowerShell بالتوازي
boolean. القيمة الافتراضية: true.

إذا تم تعيينه إلى true، يقوم بتشغيل البرامج النصية PowerShell بالتوازي على الأجهزة الهدف.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

استخدم هذه المهمة لتنفيذ برامج PowerShell النصية على الجهاز (الأجهزة) البعيدة.

يمكن لهذه المهمة تشغيل كل من البرامج النصية PowerShell والبرامج النصية PowerShell-DSC:

  • بالنسبة إلى البرامج النصية PowerShell، يجب أن يكون لدى أجهزة الكمبيوتر PowerShell 2.0 أو أعلى مثبتة.
  • بالنسبة إلى البرامج النصية PowerShell-DSC، يجب أن تحتوي أجهزة الكمبيوتر على أحدث إصدار من إطار عمل إدارة Windows مثبتة. يتم تثبيت هذا بشكل افتراضي على Windows 8.1 وWindows Server 2012 R2 والإصدارات اللاحقة.

المتطلبات الأساسية

تستخدم هذه المهمة Windows Remote Management (WinRM) للوصول إلى أجهزة الكمبيوتر الفعلية المحلية أو أجهزة الكمبيوتر الظاهرية المرتبطة بالمجال أو المرتبطة بمجموع العمل.

لإعداد WinRM لأجهزة الكمبيوتر الفعلية المحلية أو الأجهزة الظاهرية

اتبع الخطوات الموضحة في المجال المرتبط

لإعداد WinRM لأجهزة Microsoft Azure الظاهرية

تتطلب أجهزة Azure الظاهرية من WinRM استخدام بروتوكول HTTPS. يمكنك استخدام شهادة اختبار موقعة ذاتيا. في هذه الحالة، لن يتحقق عامل التنفيذ التلقائي من صحة الشهادة على أنها صادرة عن مرجع مصدق موثوق به.

  • أجهزة Azure الظاهرية الكلاسيكية. عند إنشاء جهاز ظاهري كلاسيكي من مدخل Microsoft Azure، يتم بالفعل إعداد الجهاز الظاهري ل WinRM عبر HTTPS، مع فتح المنفذ الافتراضي 5986 بالفعل في جدار الحماية وتثبيت شهادة موقعة ذاتيا على الجهاز. يمكن الوصول إلى هذه الأجهزة الظاهرية دون الحاجة إلى تكوين إضافي. يمكن أيضا تحديد الأجهزة الظاهرية الكلاسيكية الموجودة باستخدام مهمة توزيع مجموعة موارد Azure .

  • مجموعة موارد Azure. إذا كان لديك مجموعة موارد Azure محددة بالفعل في مدخل Microsoft Azure، فيجب عليك تكوينها لاستخدام بروتوكول WinRM HTTPS. تحتاج إلى فتح المنفذ 5986 في جدار الحماية، وتثبيت شهادة موقعة ذاتيا.

لنشر مجموعات موارد Azure التي تحتوي على أجهزة ظاهرية ديناميكيا، استخدم مهمة نشر مجموعة موارد Azure . تحتوي هذه المهمة على خانة اختيار تسمى Enable Deployment Prerequisites. حدد هذا لإعداد بروتوكول WinRM HTTPS تلقائيا على الأجهزة الظاهرية، وافتح المنفذ 5986 في جدار الحماية، وقم بتثبيت شهادة اختبار. ثم تكون الأجهزة الظاهرية جاهزة للاستخدام في مهمة التوزيع.

ما الجديد في إصدار المهمة هذا

  • يستخدم PSSession و invoke-command لإجراء الاتصال عن بعد على الأجهزة الهدف.
  • تمت إضافة دعم لتنفيذ البرنامج النصي المضمن.
  • يتم دعم المصادقة الافتراضية ومصادقة CredSSP.
  • تمت إضافة خيارات لمعالجة الأخطاء: ErrorActionPreferenceوفشل ignoreLASTEXITCODEعند الخطأ القياسي.

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.134.0 أو أحدث
فئة المهمة نشر