3

ログインスクリプトを最適化して、可能な限り堅牢で迅速に実行できるようにしようとしています。

スクリプトは多数のドライブをログに記録し、次のいずれかを使用できることがわかります。

(New-Object -ComObject WScript.Network).MapNetworkDrive("X:", \\myserver\myshare))

また

net use x: \\myserver\myshare

ドライブをマップします。

「より良い」方法はどれですか?「従来の」方法はより堅牢に見えますが、新しい方法よりも低速です。

ドライブが存在するかどうかをテストするときにも、いくつかの奇妙なことがあります。Explorerに表示されますが、次のコマンドでテストすると、次のようになります。

if (test-path x:) { write "Drive mapped already" }

結果は出力されません。これはたまにしか起こらないようです、私はパターンを理解していません。

ありがとう、

ベン

4

1 に答える 1

4

「netuse」を使用してドライブをマッピングしても、PowerShellでPSDriveとして自動的に表示されるわけではありません。残念ながら、それらは同じものではありません。Test-Pathは、PowerShellプロバイダーを指すUNCパスまたはPSDrive(またはfilesystem :: c :のようなプロバイダー認定)のいずれかであるPSPathのみをチェックします。

これは、PowerShellがログインスクリプトに最適なシェルではない理由の長い列の1つです。

-オシーン

于 2010-07-15T18:55:58.193 に答える