我有一個將項目發送到回收站(如果選中)或永久刪除項目的腳本。如果腳本在本地運行,則回收件可正常運行。確定從腳本執行的位置
但是,如果它是從不同的計算機上運行 - 在這種情況下,我的本地機器上運行對服務器上的共享文件夾中的腳本 - 刪除是永久,並不會發送到回收站。該腳本(在之前的運行),使(以後看到它是多少備份保留)未設置存檔位的項目是一個關於什麼決定先存檔位設置爲TRUE,然後刪除刪除該腳本的下一次執行。
我的想法是修改主腳本以標記要刪除的文件,但只有在腳本在本地運行時刪除文件的物理操作,或者僅將回收腳本(本身)作爲將要刪除的服務器上的任務&將該項目發送到將以設定間隔運行的回收站。
我的問題 -
- 在PowerShell中(用2.0)你怎麼確定源計算機 VS目標計算機?在這種情況下,腳本從 MyPC運行,它的目標是Server1。
- 無論目標是映射驅動器(驅動器Y :), 還是目標服務器名稱(\ Server1),腳本都會運行。 如何在這兩種情況下區分上述問題?
謝謝。由於(在我的情況下)服務器名稱也可能包含文件或文件夾路徑作爲它的一部分,您如何確定\\ Server1 \ filepath1 \ filepath2 \ test.txt的服務器部分?上述工作正常,如果它被映射。 –
你可以使用字符串解析或正則表達式。這裏有一個不涉及這兩種方法的方法:([System.Uri]「\\ Server1 \ filepath1 \ filepath2 \ test.txt」)主機 –
我upvoted一個整潔的一段代碼,但我想知道如何編程確定如果驅動器是映射驅動器?經驗上,它看起來像'(gwmi win32_logicaldisk -filter「drivetype = 4和deviceid ='C:'」)-eq $ null'會起作用,但有沒有更簡單的方法? –