PowerShellを使用してWindows 2012からNFS共有をマウントし、このマウントを、それを呼び出したPowerShellセッション以外のコンテキストで表示できるようにしたいと考えています。 New-PSDriveコマンド(コマンドレット?)を使用する場合、例:
New-PSDrive Z -PsProvider FileSystem -Root \\10.40.1.1\export\isos
次に、NFSサーバーをZドライブにマウントしますが、たとえばファイルエクスプローラーでこのドライブにアクセスできません。
カーネルパニック PSDriveコマンドレットがPowerShell環境内でのみ使用可能であることについては正しいです。 TechNetの記事 ' 新しい–PSDriveコマンドレットの使用 'は、「マップされたドライブは、現在のWindows PowerShellセッションの間だけ存続する」と述べていますが、ドライブをすべて再マップする構成ファイルを作成できます。 PowerShellを起動したとき。
さらに、TechNetの記事 ' WindowsスクリプトホストMapNetworkDriveメソッドの変換 'には、–PSDriveコマンドレットで作成されたドライブは、作業している限り、他のマップされたネットワークドライブとまったく同じように使用できると記載されていますWindows PowerShell。これはPowerShellドライブであり、実際にマップされたドライブではありません。この記事では、Net Useコマンドを使用してPowerShellでドライブをマップできることを示します。
Net Use z: \\server\folder
お役に立てれば、
Persistフラグを使用する必要があります。
New-PSDrive Z -PsProvider FileSystem -Root \\10.40.1.1\export\isos -Persist
-持続する
Windowsにマップされたネットワークドライブを作成します。マップされたネットワークドライブは、ローカルコンピューターのWindowsに保存されます。これらはpersistentであり、セッション固有ではなく、ファイルエクスプローラーやその他のツールで表示および管理できます。 ドライブの名前は、DやEなどの文字である必要があります。Rootパラメーターの値は、別のコンピューターへのUNCパスである必要があります。 PSProviderパラメータの値はFileSystemである必要があります。 Windowsでマップされたネットワークドライブを切断するには、Remove-PSDriveコマンドレットを使用します。 Windowsでマップされたネットワークドライブを切断すると、現在のセッションから削除されるだけでなく、マッピングがコンピューターから完全に削除されます。注:マップされたネットワークドライブは、ユーザーアカウントに固有です。 [管理者として実行]オプションまたは別のユーザーの資格情報で開始されたセッションで作成したマップされたネットワークドライブは、明示的な資格情報なしで、または現在のユーザーの資格情報で開始されたセッションでは表示されません。
https://technet.Microsoft.com/en-us/library/hh849829.aspx を参照してください
FWIW、CMD mount
コマンドは、ドキュメント化されたオプションとは逆に、logged in user、つまり、コマンドを開始したユーザー。
UAC制御が設定されている場合、これは事実上、コマンドが自分のユーザーセッションに対してのみ機能することを意味します。つまり、代替の資格情報を使用する場合は、runas
を使用する必要があります。セッション。
これはですが、それ自体がこれらのオプションをサポートしています-u:username -p:*
。
修正プログラムKB2684578がありましたが、「使用できなくなりました」です。
(同じKB記事によると、net
コマンドは同じ誤りに悩まされています。)
私の理解は、Powershell 3より前のPSDriveコマンドレットは、シェルと一部のデータストア間のマッピングです。これは「シェル」の外では実行されません。 Powershell 3.0には、必要な操作を実行できる永続パラメーターがあります。
コマンドラインからのmount
コマンド。
mount <NFS_Server_IP>:<Share_Path> <Mount_Point>