[英]How Can I Schedule A Task In Task Scheduler To Run At Startup Every 2 Days?
[英]How can I convince powershell (run through task scheduler) to find my network drive?
我在 Windows 7 上有一個無法正常工作的簡單 powershell 腳本。 (這不是 XP 上的問題)
get-psdrive
當我直接運行它時,我得到
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
A FileSystem A:\
Alias Alias
C 12.30 11.60 FileSystem C:\
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
**Q 1486.63 289.41 FileSystem Q:\**
Variable Variable
WSMan WSMan
當我通過任務調度程序運行它時,我得到
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
A FileSystem A:\
Alias Alias
C 12.30 11.60 FileSystem C:\
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
WSMan WSMan
請注意,我缺少 Q: 驅動器。 如果有任何方法可以解決此問題,我將能夠將文件復制到那里....
網絡驅動器,以及實際上所有的驅動器號,都被“映射”到給定登錄會話的卷。 當您創建計划任務以運行時,它會創建一個新的登錄會話(即使您當前已登錄)並在該上下文中運行計划任務。 因此,雖然您可能已登錄並映射了 Q 驅動器 - 運行該任務的第二個會話具有完全不同的環境,但 Windows 足以為所有會話自動映射 C:(和其他物理驅動器)。
使用 PowerShell 時,您不需要將映射映射到驅動器,這可能只是為了方便。 與 cmd.exe 的前身不同,PowerShell 非常樂意將當前目錄更改為 UNC 樣式路徑:
cd \\server\share\directory
是否可以在不映射驅動器的情況下完成您需要的操作? 您提到了復制文件 - 如果任務使用您的憑據運行,並假設您擁有 Q: 驅動器的權限(比方說 \\server\\share),那么您的腳本應該能夠執行以下操作:
copy c:\logs\*.log \\server\share\logs
無需映射驅動器即可正常工作。
這是我的測試的完整命令信息。 如果您的環境不同,請注意如何。 該任務配置為作為我的域帳戶運行,僅當我登錄時,具有最高權限並為 Windows 7/Server 2008 R2 配置。
動作是啟動一個程序:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
參數
-command copy c:\logs\*.log \\server\share\logs
也許在腳本中運行 get-psdrive 之前,首先做這樣的事情:
$net = new-object -comobject Wscript.Network
$net.mapnetworkdrive("Q:","\\path\to\share",0,"domain\user","password")
完成工作后(復制文件..):
$net.removenetworkdrive("Q:")
如果您不想在腳本中使用密碼,則有一個 hack,我更願意避免:
以管理員身份打開 powershell 並創建從 UNC 到本地路徑的符號鏈接
New-Item -ItemType SymbolicLink -Path "C:\\LocalTemp\\" -Value "\\unc\u0026quot;
您現在可以直接在 powershell 腳本中使用 UNC 路徑,它將使用計划任務中提供的憑據打開它。
計划任務中的憑據可能存在一些問題,但是在我看來,這仍然比腳本中明文或偽混淆的密碼要好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.