2013-02-21 38 views
0

最近我才知道如何使用,用於執行SQL查詢Powersehll命令如下所述:如何接取遠程計算機文件夾中的PS SQLSERVER:>

Import-Module 「sqlps」 -DisableNameChecking 

$ds=Invoke-Sqlcmd -Query $Query -Database $Database -ServerInstance $server -ConnectionTimeout $ConnectionTimeout -QueryTimeout $QueryTimeout 

這時PowerShell ISE中輸出控制檯將在

PS SQLSERVER:\> 

我能夠執行選擇和更新查詢沒有任何錯誤。當我想要訪問遠程計算機中的某個文件時,就會遇到問題。我試圖訪問如下文件:

PS SQLSERVER:\> Get-Content -Path \\Server\D$\Log\App.log 

偶試過,只是列出文件/文件夾作爲

PS SQLSERVER:\> ls \\Server\D$\Log\ 

蔭收到以下錯誤:

獲取內容:找不到路徑「 \ Server \ D $ \ Log \ App.log',因爲它不存在。 ls:找不到路徑'\ Server \ D $ \ Log \',因爲它不存在。

不需要說 - 文件夾和文件存在於該服務器上,因爲當PowerShell運行時沒有SQL模塊時,我可以訪問它。我的意思是控制檯只顯示 PS C:\ User \ abc \

對不起,這個長長的故事 - 現在,簡單的問題! 當Shell在SQLSERVER控制檯中時如何訪問遠程文件/文件夾?

在此先感謝!

-Raj

+0

您應該確保用於連接的帳戶有你所訪問的UNC路徑適當的訪問。我猜它可能試圖在SQL Server的憑據下連接。 – SchmitzIT 2013-02-21 13:47:27

+0

我正在使用我的管理員帳戶可以訪問SQL服務器和遠程服務器(文件所在的位置).. – Raaj 2013-02-21 13:52:55

回答

0

您應該能夠明確地使用文件系統提供這樣的:

ls filesystem::\\server\d$\log 
+0

完美..也謝謝你......來自** steoleary **和你的提示 - 兩者都很簡單並且完美無缺。它幫了我很多.. 再次感謝! Happy Scripting .. – Raaj 2013-02-22 10:21:34

0

只要改變你的目錄,如下所示:

cd c:\ 

則:

ls \\server\d$\log 

你可以再改回SQL服務器做相同的:

cd sqlserver:\ 

PowerShell提供rs可以像使用普通驅動器盤符一樣使用,非常酷。

+0

謝謝..這工作!這是一個簡單的很酷的提示..! – Raaj 2013-02-22 10:19:59

0

我相信這是遠程運行SQL服務器,這使得從那裏另一臺服務器上的「雙跳」的場景上訪問數據的命令,你需要的CredSSP身份驗證爲工作.....

+0

並非如此,因爲命令提示符顯示爲SQLSERVER:\他正在使用不同的提供程序,而不是文件系統提供程序,因此試圖以這種方式訪問​​文件系統將不起作用,您可以使用該提供程序導航SQL Server對象,而不是文件系統,直到你改回來。 – steoleary 2013-02-21 15:43:34

相關問題