iT邦幫忙

0

共用分享資料夾可否用登錄檔方式取消!

因公司時常用共用資料夾,但發現多很台電腦都是有共用分享資料,但發現到要取消共用資料夾的時後,步驟雖不多,只是電腦很多台,這樣使用下來的話,步驟就覺得很多,是否有辦法像批次檔一樣只要執行二下,就把此台電腦共用的資料夾取消?除了批次檔以外,是否還有其他的指令可協助或者有什麼樣的工具可以處理!

蟹老闆 iT邦大師 1 級 ‧ 2016-08-17 01:02:54 檢舉
我比較好奇,為何策略會變變變?
是否貴公司沒有對這方面較有全面性思考的人員?
找個固定配合的廠商來咨詢也是不錯的,才不會一下這樣一下那樣的,
再加上那列印bat,原需求是A現在又變B,才會覺得貴公司需要一個長期配合的廠商.
0
danking
iT邦研究生 2 級 ‧ 2014-10-26 22:57:34
最佳解答

可以利用 VBS 搭配 WMI 來處理

<pre class="c" name="code">
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\ComputerName\root\cimv2")

'刪除所有分享資料夾
Set SelectShares = objWMIService.ExecQuery ("Select * from Win32_Share")
For Each objShare in SelectShares
    objShare.Delete
Next

'刪除某個指定的分享資料夾
Set SelectShares = objWMIService.ExecQuery ("Select * from Win32_Share Where Name = 'MyShareFolderName'")
For Each objShare in SelectShares
    objShare.Delete
Next
看更多先前的回應...收起先前的回應...
ddovwmk iT邦新手 5 級 ‧ 2014-10-27 18:01:26 檢舉

謝謝,那我請問一下,像「刪除某個指定的分享資料夾」的話,有辦用VBS指令在還原分享共用嗎?

ddovwmk iT邦新手 5 級 ‧ 2014-10-30 20:44:43 檢舉

'刪除某個指定的分享資料夾
Set SelectShares = objWMIService.ExecQuery ("Select * from Win32_Share Where Name = 'MyShareFolderName'")
For Each objShare in SelectShares
objShare.Delete
Next

MyShareFolderName 這是不是資料夾的名稱?

ddovwmk iT邦新手 5 級 ‧ 2014-11-01 17:37:43 檢舉

如上的指令行不通!

danking iT邦研究生 2 級 ‧ 2014-11-16 00:15:59 檢舉

MyShareFolderName 指的是分享的名稱
可以參考 MSDN 上的說明
Win32_Share class

0
eddieoscar
iT邦新手 5 級 ‧ 2014-11-15 08:31:49

我公司我是周未都是把分享資料夾停用
@echo off
net share "Foldername" /delete /YES
存成.bat 就可以

至於再開啟時我是用
@echo off
net share "Foldername=x:\sharefoldername /grant:users,change /grant:users

但我碰到一個問題 開啟 分享檔案時即時給user full 權限也刪除不了其他使用者 建立的檔案 還有有時還進不去 分享的folder 求高手

0
門神JanusLin
iT邦超人 1 級 ‧ 2014-11-17 08:49:35

FYI

http://support.microsoft.com/kb/245117/zh-tw

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

AutoShareServer 和 AutoShareWks
dword:0

我要發表回答

立即登入回答