ここで何が間違っているのかわかりませんが、以下のコードは次のエラーメッセージを返します。
「identityTest」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。
ここに私のサンプル/テストコードがあります:
#Bunch of Global vars
$UrlToUse = identityTest
function identityTest
{
$internalMatch = ".*inbound"
$externalMatch = ".*outbound"
$fqdn = "blahblah_inbound"
if ( $fqdn -match $internalMatch )
{
return "http://in3"
Write-Host "Inbound Hit"
}
if ( $fqdn -match $externalMatch )
{
return "http://out"
Write-Host "Outbond Hit"
}
else
{
return "http://default"
write-host "Default Hit"
}
}
function sampleTest
{
write-host "will upload to the following URL: + $UrlToUse
}
Write-Host $UrlToUse
ここで正しいアプローチを取っているかどうかはわかりませんが、これが私が達成しようとしていることです。正しいものを決定して返す indetityTest 関数の if ステートメントの結果に応じて、UrlToUse をグローバル変数として設定する予定です。そこから、残りのコード全体で同じグローバル var を使用します。私が作成した例では、別の関数内で同じ var $UrlToUse を使用します。この場合は、sampleTest という名前です。
これが機能しない理由がわかりません。私は Perl のバックグラウンドを持っているので、powershell での動作がわかりにくいかもしれません。ヒントポインタなどは本当に感謝しています。
本当にありがとう!