此Windows Installer程序包存在问题。作为设置的一部分运行的程序没有按预期完成。请联系您的支持人员或软件包供应商
嘿,我写了这个脚本删除了一台计算机的共享但是当我运行我的脚本时,它会重复相同的wscript.echo来判断正在删除的共享。为什么我的代码在运行时永远不会结束我如何解决这个问题。
我的意见:
'The function that is called to run the command Line that deletes a specific share from a pc
Function DeleteThisShare(Share)
Dim objShell
'Logging The deleted Approved Shares
objDeletedFile.WriteLine (Now & " - Removed share " & Trim(Share))
DeleteThisShare = "net share " & chr(34) & Share & chr(34) &" /DELETE"
Wscript.echo DeleteThisShare
Set objShell = CreateObject("Wscript.Shell")
objShell.Run DeleteThisShare
End Function
我的循环:
'Compares The UnApproved Shares to the Current Shares
For Each objItem In colItems
Dim StrNonUnapprovedShares, Item
StrCurrentShares = objItem.name
if instr(AdminShares,lcase(objitem.name)) > 0 or mid(objitem.name,2,1) = "$" or left(lcase(objitem.name),10) = "pkgsvrhost" then
'Skipping known admin share
Else
For each Item in arrUnApprovedLines
If Lcase(Item) = Lcase(strCurrentShares) Then
StrNonUnapprovedShares = (StrNonUnapprovedShares & strCurrentShares & vbCrLf)
End If
Next
End If
Next
Dim notUnapprovedShares, notUnapprovedLines
notUnapprovedLines = StrNonUnapprovedShares
notUnapprovedLines = Split(notUnapprovedLines, vbCrLf)
Dim y, Line2
For y = 0 to uBound(notUnapprovedLines)
Line2 = Trim(notUnapprovedLines(y))
If len(Line2) > 0 Then
DeleteThisShare(Line2)
End If
Next
答案 0 :(得分:1)
我认为问题是由函数名称作为变量引起的。对于你正在编译的VB来说没关系,但我不认为VBScript以同样的方式识别它。使用单独的变量名称代替DeleteThisShare
,例如strDeleteThisShare
。
答案 1 :(得分:0)
如果我不得不猜测是因为你通过让脚本回显DeleteThisShare
函数来创建一个递归循环。函数到达该行并在它能够继续之前再次被调用。
尝试仅为函数的结果赋值,并使用局部变量来存储任何其他调试/临时值。