1
嘿,我有這段代碼,我拿兩個文件並閱讀它們。這兩個是CurrentShares
和ApprovedShares
。我比較這兩個並將差異寫入.txt文件,然後運行命令刪除共享,命令是Net Share ShareName /DELETE
。那是whiteList部分。將命令行參數插入到vbscript中
黑名單部分是相當一樣,我把以前CurrentShares和比較它UnApprovedShares。然後,我將差異寫入文本文件,並使用與以前相同的命令刪除共享。
我需要的是獨立的我的腳本,所以當有人運行命令行腳本中的所有他們所要做的就是寫ShareDelete.vbs /Whitlist
或ShareDelete.vbs /Blacklist
和具體取決於他們鍵入命令撥打電話或者黑名單白名單或VERSON。我的代碼是
Option Explicit
Function DeleteThisShare(Share)
Dim objShell
DeleteThisShare = "net share " & Share & " /DELETE"
Set objShell = CreateObject("Wscript.Shell")
wscript.echo DeleteThisShare
objShell.Run DeleteThisShare
End Function
'------------------------------------------------------------------------------
'Whitelist
Wscript.echo "Calling cleanshares.vbs /whitelist.."
'Reads Approvedshare txt and makes the txt file into an array
Public objFSO
set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objApprovedFile
Set objApprovedFile = objFSO.OpenTextFile ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\approvedshares.txt")
Public strApprovedFile, strApprovedData, arrApprovedLines, ApprovedLineCount, strApprovedShares
CONST ForReading = 1
strApprovedFile = ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\approvedshares.txt")
strApprovedData = objFSO.OpenTextFile(Trim(strApprovedFile),ForReading).ReadAll
arrApprovedLines = Split(Trim(strApprovedData),vbCrLf)
wscript.echo strApprovedData
ApprovedLineCount = UBound(arrApprovedLines) + 1
strApprovedShares = strApprovedData
'wscript.echo "Approved share count : " &ApprovedLinecount
'Reads current shares txt and also makes that txt into an array
set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objCurrentFile
Set objCurrentFile = objFSO.OpenTextFile ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\currentshares.txt")
Public strCurrentFile, strCurrentData, arrCurrentLines, CurrentLineCount, strCurrentShares, strNonApproved
strCurrentFile = ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\currentshares.txt")
strCurrentData = objFSO.OpenTextFile(Trim(strCurrentFile),ForReading).ReadAll
arrCurrentLines = Split(Trim(strCurrentData),vbCrLf)
CurrentLineCount = UBound(arrCurrentLines) + 1
'wscript.echo "current share count : " &CurrentLinecount
Do until objCurrentFile.AtEndOfStream
strCurrentShares = objCurrentFile.ReadLine
If InStr(strApprovedShares, strCurrentShares) = 0 Then
StrNonApproved = StrNonApproved & StrCurrentShares & vbCrLf
End If
Loop
objApprovedFile.Close
objCurrentFile.Close
Wscript.echo "Current Shares Not approved: " & vbCrLf & strNonApproved
Set objWhiteFile = objFSO.CreateTextFile("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\Shares_Not_Approved.txt")
Dim objWhiteFile : objWhiteFile.WriteLine strNonApproved '"The following shares are not listed as an approved share in the approvedshares.txt file. Removing share from the PC: " & vbCrLf & strNonApproved
Dim notapprovedShares, notapprovedLines, strnotapprovedFile
strnotapprovedFile = ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\Shares_Not_Approved.txt")
notapprovedLines = objFSO.OpenTextFile(strnotapprovedFile,ForReading).ReadAll
notapprovedLines = Split(notApprovedLines, vbCrLf)
Dim x, k, Line
k = uBound(notApprovedLines)
For x = 0 To k
Line = Trim(notApprovedLines(x))
If Len(Line) > 0 then
DeleteThisShare(Line)
End If
Next
'------------------------------------------------------------------------------------------------------------
'Blacklist
'Wscript.echo "Calling cleanshares.vbs /Blacklist.."
Function DeleteThisShare(Share)
Dim objShell
DeleteThisShare = "net share " & Share & " /DELETE"
Set objShell = CreateObject("Wscript.Shell")
wscript.echo DeleteThisShare
objShell.Run DeleteThisShare
End Function
Set objCurrentFile = objFSO.OpenTextFile ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\currentshares.txt")
'Reads UnApprovedShares and makes txt file into an array
Set objFso = CreateObject("Scripting.FileSystemObject")
Dim strUnApprovedFile, strUnApprovedData, arrUnApprovedLines, UnApprovedLineCount, strUnApprovedShares, strNonUnapprovedShares
strUnApprovedFile = ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\unapprovedshares.txt")
strUnApprovedData = objFSO.OpenTextFile(Trim(strUnApprovedFile),ForReading).ReadAll
arrUnApprovedLines = Split(Trim(strUnApprovedData),vbCrLf)
UnApprovedLineCount = UBound(arrUnApprovedLines) + 1
strUnApprovedShares = strUnApprovedData
'wscript.echo "Unapproved Share Count: " & UnApprovedLineCount
strCurrentFile = ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\currentshares.txt")
Do until objCurrentFile.AtEndOfStream
StrCurrentShares = objCurrentFile.Readline
If InStr(strUnApprovedShares, strCurrentShares) = 0 Then
StrNonUnapprovedShares = StrNonUnapprovedShares & strCurrentShares & vbCrLf
End If
Loop
Wscript.echo "Current shares Not UnApproved: " & vbcrLf & StrNonUnapprovedShares
Dim objBlackFile : Set objBlackFile = ObjFSO.CreateTextFile("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\Shares_Not_Unapproved.txt")
objBlackFile.WriteLine StrNonUnapprovedShares
Dim notUnapprovedShares, notUnapprovedLines, strnotUnapprovedFile
strnotUnapprovedFile = ("C:\Users\a352592\Desktop\Abdullahi\Remove Shares Utility\Shares_Not_Unapproved.txt")
notUnapprovedLines = objFSO.OpenTextFile(strnotUnapprovedFile,ForReading).ReadAll
notUnapprovedLines = Split(notUnapprovedLines, vbCrLf)
Dim y, j, Line2
j = uBound(notUnapprovedLines)
For y = 0 to j
Line2 = Trim(notUnapprovedLines(y))
If len(Line2) > 0 Then
DeleteThisShare(Line2)
End If
Next
謝謝,這是我需要的到底是什麼 –