#211188 - 2016-03-09 08:32 PM
Overwrite file contents each time it's ran (Inventory Script)
|
MackMan
Just in Town
Registered: 2016-03-09
Posts: 4
Loc: Kentucky
|
I have an inventory script I'm using inside Kixtart but I can't get it to overwrite the existing contents of the file, it just adds to it.
There's no need for me to keep stacking this information - any help would be appreciated.
I had it working before with RedirectOutput, but I couldn't figure out how to end that command so it wouldn't run any commands after that so I switched to WriteLine instead.
$rc = Open(1, "\\SERVER\public\IS\kixtartlogs\"+ @WKSTA+".html", 5)
$wmiColl1 = GetObject("WinMgmts:root/cimv2").ExecQuery("Select * FROM Win32_ComputerSystem ") $wmiColl2 = GetObject("WinMgmts:root/cimv2").ExecQuery("Select * FROM Win32_BIOS ") $wmiColl3 = GetObject("WinMgmts:root/cimv2").ExecQuery("Select * FROM Win32_Printer ")
$rc = WriteLine(1, "<HTML>") $rc = WriteLine(1, "<BODY>") $rc = WriteLine(1, "<center>") $rc = WriteLine(1, "<table border=1>") $rc = WriteLine(1, "<tr>") $rc = WriteLine(1, " <th>Full Name</th>") $rc = WriteLine(1, " <th>UserID</th>") $rc = WriteLine(1, " <th>IP Address</th>") $rc = WriteLine(1, " <th>Make</th>") $rc = WriteLine(1, " <th>Model</th>") $rc = WriteLine(1, " <th>Serial Number</th>") $rc = WriteLine(1, " <th>Default Printer</th>") $rc = WriteLine(1, "</tr>") $rc = WriteLine(1, "<tr>") $rc = WriteLine(1, "<td>@FULLNAME</td>") $rc = WriteLine(1, "<td>@USERID</td>") $rc = WriteLine(1, "<td>" + @IPADDRESS0) $rc = WriteLine(1, "</td>") For Each $wmiObj in $wmiColl1 $rc = WriteLine(1, "<td>" + $wmiObj.Manufacturer) $rc = WriteLine(1, "</td>") $rc = WriteLine(1, "<td>" + $wmiObj.Model) $rc = WriteLine(1, " </td>") Next For Each $wmiObj in $wmiColl2 $rc = WriteLine(1, "<td>" + $wmiObj.SerialNumber) $rc = WriteLine(1, "</td>") $rc = WriteLine(1, "<td>" + join(split(readvalue("HKEY_USERS\"+@sid+"\Software\Microsoft\Windows NT\CurrentVersion\Windows","Device"),',',1),'')) $rc = WriteLine(1, "</td>") $rc = WriteLine(1, "</tr>") $rc = WriteLine(1, "</table>") Next $rc = WriteLine(1, "<h1>Inventory taken on " + @DATE + " at " + @TIME + ".</h1>") $rc = WriteLine(1, "</BODY>") $rc = WriteLine(1, "</HTML>") $rc = Close(1)
Edited by MackMan (2016-03-09 08:35 PM)
|
Top
|
|
|
|
#211190 - 2016-03-09 09:14 PM
Re: Overwrite file contents each time it's ran (Inventory Script)
[Re: ChristopheM]
|
MackMan
Just in Town
Registered: 2016-03-09
Posts: 4
Loc: Kentucky
|
just delete the file before opening it
$filename = "\\SERVER\public\IS\kixtartlogs\"+ @WKSTA+".html"
Del $filename
$rc = Open(1, $filename, 5)
I tried that as well, but the users aren't administrators so it won't let you delete those files even though that have read/write access to the files.
|
Top
|
|
|
|
#211195 - 2016-03-09 10:23 PM
Re: Overwrite file contents each time it's ran (Inventory Script)
[Re: Allen]
|
Allen
KiX Supporter
Registered: 2003-04-19
Posts: 4545
Loc: USA
|
I never use RedirectOutput, so Glenn may have something there...
|
Top
|
|
|
|
#211202 - 2016-03-11 04:22 AM
Re: Overwrite file contents each time it's ran (Inventory Script)
[Re: ChristopheM]
|
NTDOC
Administrator
Registered: 2000-07-28
Posts: 11623
Loc: CA
|
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
0 registered
and 557 anonymous users online.
|
|
|