假设我有一个开发环境和产品环境
这两个环境都有一个共享驱动器:N:\
但是,共享驱动器的FQDN在两个环境之间是不同的
即
dev:sharedserverdev.domain.com \ data
产品:sharedserverprod.domain.com \ data
现在假设我在dev和prod上具有以下服务器
dev:server1.dev.domain.com
产品:server2.prod.domain.com
N:
驱动器在server1和server2上显示如下
我想从产品服务器2 N:
驱动器检索文件到开发服务器1 N:
驱动器。
特别是,我对从dev server1.dev.domain.com执行此命令感兴趣:
$backupfile = Get-ChildItem "N:\" -Filter "*Cube2*.abf" | Sort-Object LastAccessTime -Descending | Select-Object -First 1
Restore-ASDatabase -Server "server3.dev.domain.com" -RestoreFile $backupfile -Name Cube1 -AllowOverwrite
$backupfile
当前是从开发N:
驱动器中检索的
可以在目标服务器(在本例中为server3.dev.domain.com)上正常工作并还原成功
但是,我想从产品N:
驱动器中获取备份文件。在此示例中,Cube2.abf
文件。我显然可以看到文件N:\
驱动器上存在该文件
我正在尝试此答案here
$b = New-PSSession server2.prod.domain.com
Copy-Item -FromSession $b N:\Cube2.abf -Destination N:\Cube2.abf
但我遇到错误
Copy-Item:找不到路径'N:\ Cube2.abf',因为它不存在。
最后,我什至不需要复制文件。我只需要得到它:
$backupfile = Invoke-Command -Cn "server2.prod.domain.com" { Get-ChildItem "N:\" -Filter "*Cube2*.abf" | Sort-Object LastAccessTime -Descending | Select-Object -First 1 }
但是即使Invoke-Command也不起作用(无论是从生产服务器本身运行还是从开发服务器运行,除此错误/警告之外,我都没有得到任何输出(根据我的经验,这只是一条显示线,实际上并没有有所不同...)。另外,指定未安装的本地驱动器,例如D:\
或C:\
与N:\
不同,仍然会导致Invoke-Command错误)
Attempting to perform the InitializeDefaultDrives operation on the 'FileSystem' provider failed.
如果我在产品服务器上运行此命令
Get-ChildItem "N:\" -Filter "*Cube2*.abf" | Sort-Object LastAccessTime -Descending | Select-Object -First 1
我得到输出:
Directory: N:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 7/17/2019 3:05 PM 41033728 Cube2.abf
在生产服务器上运行Net Share,我得到以下信息:
Share name Resource Remark
-------------------------------------------------------------------------------
C$ C:\ Default share
D$ D:\ Default share
P$ P:\ Default share
IPC$ Remote IPC
ADMIN$ C:\windows Remote Admin
Folder1 D:\Folder1
The command completed successfully.