$lang['tuto'] = "سبق"; ?> ونڈوز سرور 2008 R2 پر پاور شیل

ونڈوز سرور 2008 R2 پر پاور شیل اسکرپٹ کے نفاذ کے مسائل کو حل کرنا

ونڈوز سرور 2008 R2 پر پاور شیل اسکرپٹ کے نفاذ کے مسائل کو حل کرنا
ونڈوز سرور 2008 R2 پر پاور شیل اسکرپٹ کے نفاذ کے مسائل کو حل کرنا

پاور شیل اسکرپٹ پر عمل درآمد کی پابندیوں کا ازالہ کرنا

Windows Server 2008 R2 کے ساتھ کام کرتے وقت، صارفین کو ایک خامی کا سامنا کرنا پڑ سکتا ہے جس سے یہ ظاہر ہوتا ہے کہ پاور شیل اسکرپٹس کا نفاذ سسٹم پر غیر فعال ہے۔ یہ مسئلہ اس وقت پیدا ہو سکتا ہے جب cmd.exe کے ذریعے اسکرپٹ چلانے کی کوشش کی جائے، یہاں تک کہ عمل درآمد کی پالیسی کو غیر محدود پر سیٹ کرنے کے بعد بھی۔

اس بات کی تصدیق کے باوجود کہ عمل درآمد کی پالیسی کو غیر محدود پر سیٹ کیا گیا ہے، اسکرپٹ اب بھی عمل میں ناکام ہو سکتے ہیں، جس سے مایوسی پیدا ہو سکتی ہے اور پیشرفت میں رکاوٹ ہے۔ یہ گائیڈ اس مسئلے کے عام اسباب کو تلاش کرے گا اور اسکرپٹ کے کامیاب عمل کو یقینی بنانے کے لیے اقدامات فراہم کرے گا۔

کمانڈ تفصیل
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force عارضی طور پر اسکرپٹ پر عمل درآمد کی پالیسی کو موجودہ PowerShell سیشن کے لیے بائی پاس پر سیٹ کرتا ہے، جس سے تمام اسکرپٹس کو بغیر کسی پابندی کے عمل میں لانے کی اجازت ملتی ہے۔
powershell -File .\Management_Install.ps1 کمانڈ لائن سے مخصوص پاور شیل اسکرپٹ فائل کو انجام دیتا ہے۔
New-SelfSignedCertificate ایک نیا خود دستخط شدہ سرٹیفکیٹ بناتا ہے، جسے قابل اعتماد عملدرآمد کے لیے پاور شیل اسکرپٹس پر دستخط کرنے کے لیے استعمال کیا جا سکتا ہے۔
Export-Certificate ایک فائل میں ایک سرٹیفکیٹ برآمد کرتا ہے، جسے پھر دوسرے سرٹیفکیٹ اسٹورز میں درآمد کیا جا سکتا ہے۔
Import-Certificate ایک سرٹیفکیٹ کو ایک مخصوص سرٹیفکیٹ اسٹور میں درآمد کرتا ہے، جیسے کہ ٹرسٹڈ پبلشرز یا روٹ سرٹیفیکیشن اتھارٹیز۔
Set-AuthenticodeSignature ایک مخصوص سرٹیفکیٹ کے ساتھ پاور شیل اسکرپٹ پر دستخط کرتا ہے، اس کو اسکرپٹ پر دستخط کرنے کی پالیسیوں کے ساتھ سسٹمز پر عمل کرنے کی اجازت دیتا ہے۔

پاور شیل میں اسکرپٹ پر عمل درآمد کی پالیسیوں کو سمجھنا اور ان پر عمل درآمد کرنا

فراہم کردہ اسکرپٹس کا مقصد Windows Server 2008 R2 پر پاور شیل اسکرپٹ پر عمل درآمد کے غیر فعال ہونے کے مسئلے کو حل کرنا ہے۔ پہلا اسکرپٹ Set-ExecutionPolicy -ExecutionPolicy بائی پاس -Scope Process -Force کا استعمال کرتے ہوئے موجودہ پاور شیل سیشن کے لیے عمل درآمد کی پالیسی کو بائی پاس پر سیٹ کرتا ہے۔ یہ کمانڈ تمام اسکرپٹس کو عارضی طور پر بغیر کسی پابندی کے چلانے کی اجازت دیتی ہے۔ اس کے بعد اسکرپٹ Management_Install.ps1 اسکرپٹ پر مشتمل ڈائریکٹری پر جاتی ہے اور اسے powershell .Management_Install.ps1 کا استعمال کرتے ہوئے عمل میں لاتی ہے۔ یہ نقطہ نظر اس بات کو یقینی بناتا ہے کہ عمل درآمد کی پالیسی میں تبدیلی صرف عارضی ہے اور اس سے سسٹم کی مجموعی سیکیورٹی پوزیشن متاثر نہیں ہوتی ہے۔

دوسری اسکرپٹ، ایک بیچ فائل، بھی عمل درآمد کی پالیسی کو بائی پاس پر سیٹ کرتی ہے لیکن ایسا کمانڈ لائن سے کرتی ہے۔ اس کو حاصل کرنے کے لیے یہ powershell -Command "Set-ExecutionPolicy بائی پاس -Scope Process -Force" کا استعمال کرتا ہے۔ عمل درآمد کی پالیسی کو تبدیل کرنے کے بعد، اسکرپٹ سکرپٹ ڈائرکٹری میں جاتا ہے اور powershell -File .Management_Install.ps1 کا استعمال کرتے ہوئے PowerShell اسکرپٹ چلاتا ہے۔ بیچ اسکرپٹ کمانڈ پرامپٹ ونڈو کو کھلا رکھنے کے لیے pause کمانڈ کے ساتھ ختم ہوتا ہے، جس سے صارف کو کوئی آؤٹ پٹ یا ایرر میسیج دیکھنے کی اجازت ملتی ہے۔ یہ طریقہ عمل کو خودکار کرنے اور اسے بڑے بیچ کے عمل میں ضم کرنے کے لیے مفید ہے۔

پاور شیل میں اسکرپٹ پر دستخط اور سیکیورٹی

تیسری اسکرپٹ کی مثال یہ بتاتی ہے کہ کس طرح پاور شیل اسکرپٹ پر دستخط کرنا ہے تاکہ سخت عمل درآمد کی پالیسیوں کی تعمیل کی جائے۔ سب سے پہلے، ایک خود دستخط شدہ سرٹیفکیٹ New-SelfSigned Certificate کا استعمال کرتے ہوئے بنایا جاتا ہے۔ اس سرٹیفکیٹ کو پھر Export-certificate کے ساتھ ایکسپورٹ کیا جا سکتا ہے اور Import-certificate کا استعمال کرتے ہوئے قابل اعتماد سرٹیفکیٹ اسٹورز میں درآمد کیا جا سکتا ہے۔ سرٹیفکیٹ کو TrustedPubliser اور Rot اسٹورز میں درآمد کرکے، سسٹم اس سرٹیفکیٹ کے ساتھ دستخط شدہ اسکرپٹس پر بھروسہ کرے گا۔ اسکرپٹ Management_Install.ps1 کو پھر Set-AuthenticodeSignature کا استعمال کرتے ہوئے دستخط کیا جاتا ہے۔

اسکرپٹ پر دستخط اس بات کو یقینی بناتا ہے کہ صرف بھروسہ مند اسکرپٹ ہی سسٹم پر کام کر سکتی ہیں، جو سیکیورٹی کی ایک اضافی پرت فراہم کرتی ہے۔ یہ نقطہ نظر خاص طور پر سخت حفاظتی تقاضوں والے ماحول میں مفید ہے جہاں عملدرآمد کی پالیسیاں AllSigned یا RemoteSigned پر سیٹ کی گئی ہیں۔ اسکرپٹ پر دستخط کرکے، منتظمین اس بات کو یقینی بناسکتے ہیں کہ اسکرپٹ کے ساتھ چھیڑ چھاڑ نہیں کی گئی ہے اور یہ ایک قابل اعتماد ذریعہ سے ہیں، اس طرح ممکنہ حفاظتی خطرات کو کم کیا جاسکتا ہے۔ یہ طریقہ سیکیورٹی کو فعالیت کے ساتھ جوڑتا ہے، جس سے سسٹم کی سالمیت کو برقرار رکھتے ہوئے ضروری اسکرپٹس کو چلانے کی اجازت ملتی ہے۔

پاور شیل میں بائی پاس کرنے کے لیے عمل درآمد کی پالیسی ترتیب دینا

پاور شیل اسکرپٹ

# Ensure the script execution policy is set to Bypass
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force

# Navigate to the script directory
cd "C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts"

# Execute the PowerShell script
powershell .\Management_Install.ps1

عمل درآمد کی پالیسی میں ترمیم کرنے اور پاور شیل اسکرپٹ کو چلانے کے لیے بیچ اسکرپٹ کا استعمال

بیچ اسکرپٹ

@echo off

:: Set PowerShell execution policy to Bypass
powershell -Command "Set-ExecutionPolicy Bypass -Scope Process -Force"

:: Navigate to the script directory
cd "C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts"

:: Run the PowerShell script
powershell -File .\Management_Install.ps1

pause

ایک دستخط شدہ پاور شیل اسکرپٹ بنانا

دستخط کے ساتھ پاور شیل اسکرپٹ

# Sample script content
Write-Output "Executing Management Install Script"

# Save this script as Management_Install.ps1

# To sign the script, follow these steps:
# 1. Create a self-signed certificate (if you don't have one)
$cert = New-SelfSignedCertificate -DnsName "PowerShellLocalCert" -CertStoreLocation "Cert:\LocalMachine\My"

# 2. Export the certificate to a file
Export-Certificate -Cert $cert -FilePath "C:\PowerShellLocalCert.cer"

# 3. Import the certificate to Trusted Publishers and Trusted Root Certification Authorities
Import-Certificate -FilePath "C:\PowerShellLocalCert.cer" -CertStoreLocation "Cert:\LocalMachine\TrustedPublisher"
Import-Certificate -FilePath "C:\PowerShellLocalCert.cer" -CertStoreLocation "Cert:\LocalMachine\Root"

# 4. Sign the script with the certificate
Set-AuthenticodeSignature -FilePath .\Management_Install.ps1 -Certificate $cert

اسکرپٹ پر عمل درآمد کی پالیسی کی تعمیل اور سسٹم سیکیورٹی کو یقینی بنانا

Windows Server 2008 R2 کا انتظام کرتے وقت، PowerShell میں دستیاب مختلف عمل درآمد کی پالیسیوں کو سمجھنا اور وہ اسکرپٹ پر عمل درآمد کو کیسے متاثر کرتی ہیں کو سمجھنا بہت ضروری ہے۔ پاور شیل پر عمل درآمد کی پالیسیاں ممکنہ طور پر نقصان دہ اسکرپٹس کے نفاذ کو روکنے کے لیے بنائی گئی ہیں۔ چار اہم پالیسیاں محدود، آل سائنڈ، ریموٹ سائنڈ، اور غیر محدود ہیں۔ محدود پہلے سے طے شدہ پالیسی ہے اور کسی بھی اسکرپٹ کو چلنے کی اجازت نہیں دیتی ہے۔ AllSigned کے لیے ضروری ہے کہ تمام اسکرپٹس اور کنفیگریشن فائلز پر ایک قابل اعتماد پبلشر کے دستخط ہوں۔ RemoteSigned کا تقاضہ ہے کہ انٹرنیٹ سے ڈاؤن لوڈ کی گئی تمام اسکرپٹس اور کنفیگریشن فائلوں پر ایک بھروسہ مند ناشر کے دستخط ہوں، لیکن مقامی طور پر بنائے گئے اسکرپٹ کو بغیر دستخط کے چلنے کی اجازت دیتا ہے۔

ان پالیسیوں کو سمجھنے سے منتظمین کو اپنے ماحول کے لیے حفاظت کی صحیح سطح کا انتخاب کرنے میں مدد ملتی ہے۔ ایسے حالات میں جہاں اسکرپٹس کو باقاعدگی سے چلانے کی ضرورت ہوتی ہے، پالیسی کو غیر محدود پر سیٹ کرنا خطرناک ہوسکتا ہے، کیونکہ یہ تمام اسکرپٹس کو بغیر کسی پابندی کے چلنے کی اجازت دیتا ہے۔ اس کے بجائے، منتظمین کو RemoteSigned یا AllSigned استعمال کرنے پر غور کرنا چاہیے تاکہ سیکیورٹی کو فعالیت کے ساتھ متوازن کیا جا سکے۔ اسکرپٹس پر دستخط کرکے اور سرٹیفکیٹس کا انتظام کرکے، منتظمین اس بات کو یقینی بناسکتے ہیں کہ ان کے سسٹمز پر صرف بھروسہ مند اسکرپٹس چلتی ہیں، جس سے بدنیتی پر مبنی کوڈ کے چلنے کا خطرہ کم ہوتا ہے۔

پاور شیل اسکرپٹ پر عمل درآمد کی پالیسیوں پر عام سوالات اور جوابات

  1. میں اپنے سسٹم پر عمل درآمد کی موجودہ پالیسی کو کیسے چیک کروں؟
  2. کمانڈ استعمال کریں۔ Get-ExecutionPolicy پاور شیل میں موجودہ عمل درآمد کی پالیسی کو چیک کرنے کے لیے۔
  3. میں تمام صارفین کے لیے عمل درآمد کی پالیسی کو مستقل طور پر کیسے تبدیل کر سکتا ہوں؟
  4. کمانڈ استعمال کریں۔ Set-ExecutionPolicy -ExecutionPolicy [PolicyName] -Scope LocalMachine تمام صارفین کے لیے عمل درآمد کی پالیسی کو تبدیل کرنے کے لیے۔
  5. اگر مجھے کسی اسکرپٹ کا سامنا ہو تو مجھے کیا کرنا چاہیے جو پالیسی کی پابندیوں کی وجہ سے عمل میں نہیں لایا جا سکتا؟
  6. عارضی طور پر پالیسی کو بائی پاس پر سیٹ کریں۔ Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process اور اسکرپٹ چلائیں۔
  7. کیا غیر محدود پالیسی استعمال کرنا محفوظ ہے؟
  8. پروڈکشن کے ماحول کے لیے غیر محدود استعمال کرنے کی سفارش نہیں کی جاتی ہے کیونکہ یہ تمام اسکرپٹس کو چلانے کی اجازت دیتا ہے، جو سیکیورٹی کا خطرہ ہو سکتا ہے۔
  9. میں پاور شیل اسکرپٹ پر کیسے دستخط کروں؟
  10. استعمال کرتے ہوئے خود دستخط شدہ سرٹیفکیٹ بنائیں New-SelfSignedCertificate اور پھر اسکرپٹ پر دستخط کریں۔ Set-AuthenticodeSignature.
  11. کیا میں اسکرپٹ پر عمل درآمد کو صرف بھروسہ مند اسکرپٹ تک محدود کر سکتا ہوں؟
  12. ہاں، عمل درآمد کی پالیسی کو AllSigned یا RemoteSigned پر سیٹ کرکے اور اپنی اسکرپٹس پر دستخط کرکے۔
  13. AllSigned اور Remote Signed پالیسیوں میں کیا فرق ہے؟
  14. AllSigned کے لیے تمام اسکرپٹس پر ایک بھروسہ مند ناشر کے دستخط کرنے کی ضرورت ہوتی ہے، جبکہ RemoteSigned پر دستخط کرنے کے لیے صرف انٹرنیٹ سے ڈاؤن لوڈ کردہ اسکرپٹس کی ضرورت ہوتی ہے۔
  15. میں اسکرپٹ پر دستخط کرنے کے لیے خود دستخط شدہ سرٹیفکیٹ کیسے بناؤں؟
  16. کمانڈ استعمال کریں۔ New-SelfSignedCertificate -DnsName "PowerShellLocalCert" -CertStoreLocation "Cert:\LocalMachine\My" خود دستخط شدہ سرٹیفکیٹ بنانے کے لیے۔
  17. اسکرپٹ پر عمل درآمد کی پالیسیوں کو غیر فعال کرنے کے حفاظتی خطرات کیا ہیں؟
  18. اسکرپٹ پر عمل درآمد کی پالیسیوں کو غیر فعال کرنا آپ کے سسٹم کو بدنیتی پر مبنی اسکرپٹس کے سامنے لا سکتا ہے، جس سے سیکیورٹی کی ممکنہ خلاف ورزیاں اور ڈیٹا ضائع ہو سکتا ہے۔

کلیدی ٹیک ویز

Windows Server 2008 R2 پر اسکرپٹ چلانے کے لیے درست PowerShell پر عمل درآمد کی پالیسی کو یقینی بنانا بہت ضروری ہے۔ پالیسی کو ترتیب دے رہا ہے۔ Bypass یا بیچ فائلوں کا استعمال عارضی طور پر عملدرآمد کے مسائل کو حل کر سکتا ہے، لیکن اسکرپٹ پر دستخط کرنا زیادہ محفوظ، طویل مدتی حل پیش کرتا ہے۔ منتظمین کو مختلف عملدرآمد کی پالیسیوں کے حفاظتی مضمرات سے آگاہ ہونا چاہیے اور ایسے اقدامات کو نافذ کرنا چاہیے جو آپریشنل ضروریات کے ساتھ سیکیورٹی کو متوازن رکھیں۔