Powershellには、.bashrcに相当するものがありますか?


14

管理権限を開くときにデフォルトでロードしたい機能がいくつかあります。言うことに相当するものはありますか .bashrc または .profile シェルを起動するときにスクリプトを自動的にインポートするために使用できますか。


たぶんPowerShellプロファイル( blogs.technet.microsoft.com/heyscriptingguy/2012/05/21/… )?
jehad

はい、Powershellではそれは明らかに "profile"と呼ばれています。
root

回答:


15

記事 で述べた jehadさんのコメント PowerShellがプロファイルをロードできる場所がいくつかあると説明します。通常のPowerShellコンソールには、おそらくユーザーごとのものが必要です。 PowerShellがそのファイルをチェックするパスは、 $profile 変数。このコマンドでそのファイルとそれを含むディレクトリを作成できます。

New-Item $profile -Type File -Force

それはと呼ばれるファイルを作成します Microsoft.PowerShell_profile.ps1 というフォルダ内 WindowsPowerShell Documentsフォルダの下にあります。それからあなたはテキストエディタでそれを開くことができます:

notepad $profile

昇格しているかどうかにかかわらず、PowerShellコンソールを起動すると必ずその中のすべてが実行されます。私が使った この他の記事 現在のPowerShellインスタンスが昇格しているかどうかを確認するための関数(コマンドレットとして使用できます)を生成するためこれを新しいプロファイルファイルに入れます。

Function Test-Elevated {
  $wid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
  $prp = New-Object System.Security.Principal.WindowsPrincipal($wid)
  $adm = [System.Security.Principal.WindowsBuiltInRole]::Administrator
  $prp.IsInRole($adm)
}

この関数は通常のPowerShellの経験で使用することができますが、あなたがシステム管理者特権で実行しているときにプロファイルスクリプトの中のものだけを実行するためにそれを使用することもできます。

If (Test-Elevated) {
  echo "Be careful!"
} Else {
  echo "Eh, do whatever."
}

このファイルには、管理用PowerShellインスタンスの下でも自動的に実行されるコードが含まれているので、実行中のプログラムに書き込みアクセス権を与えないでください。管理者にフルコントロールを許可しながら、自分のユーザーアカウントに読み取りアクセスのみを許可するようにACLを変更することをお勧めします。 (継承を先に無効にする必要があります。)その後、昇格したプログラムからのみスクリプトを編集できるようになります。


その長い名前はできますか Microsoft.PowerShell_profile.ps1 ちょうどに変更される profile.ps1?最初の記事では $Home\[My ]Documents\WindowsPowerShell\Profile.ps1
nephewtom
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.