Author Posts

February 10, 2017 at 3:44 pm

The scenario is I have to read an XML file on about 60 PC's on our network. I need to get two pieces of data out of that xml file. Last I need to put that data into a network location from that possession.

My problem is I am always getting this error trying to write to the network location
out-File : Access to the path '\\server\share\folder\file.txt' is denied.
My code is as follows
$s = New-PSSession -ComputerName pcname -Credential domain\userid

Enter-PSSession -Session $s
New-PSDrive -Name Z -PSProvider FileSystem -Root '\\server\share\folder'

[XML]$xml = Get-Content –Path "C:\program files (x86)\appname\config.xml"

$data = ($xml.Settings | Select-Object -Property tag1, tag2 |
Format-Table -HideTableHeaders | Out-String -Width 19)

Here is the line that gets me scratching my head
$data.Trim() |Out-file z:\stationid.txt -Append

February 10, 2017 at 4:03 pm

You don't need a pssession to read an xml file on another computer

[XML]$xml = Get-Content –Path "\\Server\C$\program files (x86)\appname\config.xml"

And you don't need to map a drive to write a file to a share

$data.Trim() | Out-file \\server\share\folder\stationid.txt -Append

and probably it would be faster to collect all the data you need first and then write it at once to the output file.
And if you get an "Access denied" probably you don't have access. 😉

February 10, 2017 at 6:47 pm

Olaf,

Thank you simplifying the script helped. I am moving forward again. I forgot to use the KISS principle Keep It Simple Stupid

Ken