スクリプト内でPowerShell組み込みスクリプトをどのように実行しますか?
次のような組み込みスクリプトをどのように使用しますか
Get-Location
pwd
ls
dir
split-path
::etc...
これらはコンピュータによって実行され、スクリプトのパスを自動的にチェックします。
同様に、スクリプトブロックにスクリプトの名前を入力するだけで、カスタムスクリプトを実行できます。
::sid.ps1 is a PS script I made to find the SID of any user
::it takes one argument, that argument would be the username
echo $(sid.ps1 jowers)
(returns something like)> S-X-X-XXXXXXXX-XXXXXXXXXX-XXX-XXXX
$(sid.ps1 jowers).Replace("S","X")
(returns same as above but with X instead of S)
powershellコマンドラインに移動して、次のように入力します。
> $profile
これにより、アプリを開くたびにPowerShellコマンドラインが実行するファイルへのパスが返されます。
このようになります
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
ドキュメントに移動し、WindowsPowerShellディレクトリが既にあるかどうかを確認します。私はしなかったので
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
PowerShellアプリを開くたびに起動するスクリプトを作成しました。
これを行ったのは、すべてのカスタムスクリプトを保持する独自のフォルダーを追加できるようにするためです。そのフォルダーを作成して、Mac / Linuxがスクリプトを保持するディレクトリにちなんで「Bin」という名前を付けます。
> mkdir \Users\jowers\Bin
$env:path
アプリを開くたびにそのディレクトリを変数に追加したいので、ディレクトリに戻りWindowsPowerShell
、
> start Microsoft.PowerShellISE_profile.ps1
次にこれを追加します
$env:path += ";\Users\jowers\Bin"
スクリプトをその「Bin」ディレクトリに保存している限り、シェルはコマンドを自動的に見つけます。
powershellを再起動すると、最初に実行されるスクリプトの1つになるはずです。
リロード後にコマンドラインでこれを実行して、パス変数に新しいディレクトリを表示します。
> $env:Path
これで、コマンドラインから、または次のように別のスクリプト内からスクリプトを呼び出すことができます。
$(customScript.ps1 arg1 arg2 ...)
ご覧のとおり.ps1
、エイリアスを作成するまで、拡張子を付けて呼び出す必要があります。ファンシーになりたいなら。