Giter Club home page Giter Club logo

Comments (5)

lipkau avatar lipkau commented on July 2, 2024

please provide the content of the original file

from psini.

Mike-FUT avatar Mike-FUT commented on July 2, 2024

rasphone.txt

File is attached (renamed to .txt and internal data replaced with dummys).

These are the commands I'm using which basically "destroy" the file:

$iniPath = "C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk"
$ini = Get-IniContent $iniPath

$ini["Test-VPN"]["ExcludedProtocols"]="8"
$ini["Test-VPN"]["PreferredHwFlow"]="1"
$ini["Test-VPN"]["PreferredProtocol"]="1"
$ini["Test-VPN"]["PreferredCompression"]="1"
$ini["Test-VPN"]["PreferredSpeaker"]="1"
$ini["Test-VPN"]["IpDnsAddress"]="10.117.1.11"
$ini["Test-VPN"]["IpDns2Address"]="10.117.1.12"
$ini["Test-VPN"]["IpNameAssign"]="2"
$ini["Test-VPN"]["IpNBTFlags"]="0"
$ini["Test-VPN"]["DisableClassBasedDefaultRoute"]="1"
$ini["Test-VPN"]["AutoTiggerCapable"]="1"

$ini | Out-IniFile -FilePath $iniPath -Encoding UTF8 -Force

from psini.

devio avatar devio commented on July 2, 2024

@lipkau The first appearance of the value is overwritten with the arraylist in Get-IniContent. You should rather safe the previous value before creating an arraylist. Fix:

                    if ($ini[$section][$name] -is [string]) {
                        $first = $ini[$section][$name]
                        $ini[$section][$name] = [System.Collections.ArrayList]::new()
                        $ini[$section][$name].Add($first) | Out-Null
                        $ini[$section][$name].Add($value) | Out-Null
                    }

cheers,

Thorsten

from psini.

PsychoData avatar PsychoData commented on July 2, 2024

Just saw that #58 was in here and trying to tackle the Duplicate Key issue.
I just submitted #63 before I saw that.
Either way, though - in my testing it seemed like I was getting a second key of my "duplicate" and then continuing forward from there with the Arraylist

image

and when written out, it resulted in this annoying double-expansion of the ArrayList
image

from psini.

PsychoData avatar PsychoData commented on July 2, 2024

However, like I mentioned here #60 (comment)
I think either of mine or @devio 's solutions would also possibly raise an issue of moving entries up/down within a file

so

   key = value
# 'comment line'
# 'comment line'
   key = value
# 'comment line' 

would end up like this I believe

   
# 'comment line'
# 'comment line'
   key = value
   key = value
# 'comment line' 

or possibly like this for devio's solution - I think - I didn't check his personally

   key = value
   key = value
# 'comment line'
# 'comment line'
# 'comment line' 

To fully allow for duplicate keys, potentially spread through the entire file & assuming their positioning relative to other entries within a section (or lack of a section) is important - I'm not sure how to get around the bunching problem

from psini.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.