回答:
記事 で述べた 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