1

この Windows インストーラー パッケージには問題があります。セットアップの一部として実行されたプログラムが期待どおりに終了しませんでした。サポート担当者またはパッケージ ベンダーにお問い合わせください

コンピューターの共有を削除するこのスクリプトを作成しましたが、スクリプトを実行すると、共有が削除されていることを示す同じ 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
4

2 に答える 2

1

関数名を変数として使用することが問題の原因だと思います。コンパイルしている VB では問題ありませんが、VBScript では同じように認識されないと思います。の代わりに別の変数名を使用しDeleteThisShareますstrDeleteThisShare

于 2013-11-14T21:22:44.570 に答える