আমি ব্যবহারকারীদের সহজেই কিছু সেটিংস ওভাররাইড করার জন্য পাওয়ারশেলের জন্য একটি ডিফল্ট প্রোফাইল তৈরি করতে দিতে সক্ষম হয়েছি এবং নীচের ওয়ান-লাইনার দিয়ে শেষ করেছি (একাধিক বিবৃতি হ্যাঁ, তবে পাওয়ারশেলে আটকানো যেতে পারে এবং একবারেই কার্যকর করা যেতে পারে, যা মূল লক্ষ্য ছিল ):
cls; [string]$filePath = $profile; [string]$fileContents = '<our standard settings>'; if(!(Test-Path $filePath)){md -Force ([System.IO.Path]::GetDirectoryName($filePath)) | Out-Null; $fileContents | sc $filePath; Write-Host 'File created!'; } else { Write-Warning 'File already exists!' };
পঠনযোগ্যতার জন্য, আমি পরিবর্তে এটি একটি .ps1 ফাইলে কী করব তা এখানে:
cls; # Clear console to better notice the results
[string]$filePath = $profile; # Declared as string, to allow the use of texts without plings and still not fail.
[string]$fileContents = '<our standard settings>'; # Statements can now be written on individual lines, instead of semicolon separated.
if(!(Test-Path $filePath)) {
New-Item -Force ([System.IO.Path]::GetDirectoryName($filePath)) | Out-Null; # Ignore output of creating directory
$fileContents | Set-Content $filePath; # Creates a new file with the input
Write-Host 'File created!';
}
else {
Write-Warning "File already exists! To remove the file, run the command: Remove-Item $filePath";
};