$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 یا بیچ فائلوں کا استعمال عارضی طور پر عملدرآمد کے مسائل کو حل کر سکتا ہے، لیکن اسکرپٹ پر دستخط کرنا زیادہ محفوظ، طویل مدتی حل پیش کرتا ہے۔ منتظمین کو مختلف عملدرآمد کی پالیسیوں کے حفاظتی مضمرات سے آگاہ ہونا چاہیے اور ایسے اقدامات کو نافذ کرنا چاہیے جو آپریشنل ضروریات کے ساتھ سیکیورٹی کو متوازن رکھیں۔