قائمة عمليات الأوامر على الجهاز البعيد مع الاحتجاج
-
28-09-2019 - |
سؤال
أحاول كتابة نص PowerShell الذي سيأخذ قائمة بالأوامر ثم تشغيلها على جهاز بعيد ، لدي الرمز التالي:
foreach($command in $commands)
{
Invoke-Command -computer "BNEBAK" -scriptblock{"$command"}
}
الذي لا يرمي أي خطأ ولكنه أيضًا لا يعمل في الواقع على الأمر (مثل خدمة التوقف عن الخدمة). تتم قراءة أوامر $ من ملف نصي تم تمريره كوسيطة عندما يتم استدعاء البرنامج النصي ، وأنا أعلم أن بقية هذا البرنامج النصي يعمل لأنني كنت أستخدمه للقيام بأوامر محلية مع التعبير عن الاستدعاء لبعض الوقت.
أي مساعدة سيكون رائعا.
المحلول
سيكون الرمز الصحيح
$commands = @(get-content com.txt)
for($command in $commands) {
$scriptblock = $ExecutionContext.InvokeCommand.NewScriptBlock($command)
Invoke-Command -computer $computer -scriptblock $scriptblock
}
لا تنتمي إلى StackOverflow