Parse output of "net use", but language varies - force language for "net use"?
Brian Inglis
Brian.Inglis@SystematicSW.ab.ca
Sat Jul 20 19:04:06 GMT 2024
On 2024-07-20 08:56, Mark Liam Brown via Cygwin wrote:
> On Sat, Jul 20, 2024 at 4:31 PM Bill Stewart via Cygwin
> <cygwin@cygwin.com> wrote:
>>
>> On Sat, Jul 20, 2024 at 7:45 AM Mark Liam Brown via Cygwin wrote:
>>
>> I am trying to parse the output of "net use" in a bash script, but hit
>>> a roadblock:
>>> The output of "net use" changes with the language of the system
>>> (English, Danish, French, ...), so parsing becomes nearly impossible
>>>
>>> How can I force the language used by "net use" to English, even if the
>>> system default language is Danish or French?
>>>
>>
>> This sounds like an XY problem[1] to me....
>>
>> What is the goal you're trying to accomplish? Enumerate existing
>> connections? Get drive mappings?
>
> Basically I need every bit of information out of "net use", "net
> config", "net statistics", "net view" and so on, parse it in bash or
> perl, process it in bash, and output it in JSON format from the bash
> script for our (Linux-based) admin report interface.
Hi Mark,
Two suggestions for getting the information you need:
- set up a local user admin account locale with English language and regional
settings
- look into registry virtualization, where you can temporarily replace part of
the user registry with a saved hive, containing the keys to be changed.
You can also make these changes with group policy editor.
Below is the Cygwin view of significant user locale registry entries (easier to
use with path lookup and completion); you can also use Windows `reg query`:
$ regtool list -v /proc/registry/HKEY_CURRENT_USER/Control\
Panel/International/User\ Profile/
en-CA\ ()
en-GB\ ()
en-US\ ()
Languages (REG_MULTI_SZ) = "en-CA", "en-GB", "en-US"
ShowAutoCorrection (REG_DWORD) = 0x00000001 (1)
ShowTextPrediction (REG_DWORD) = 0x00000001 (1)
ShowCasing (REG_DWORD) = 0x00000001 (1)
ShowShiftLock (REG_DWORD) = 0x00000001 (1)
UserLocaleFromLanguageProfileOptOut (REG_DWORD) = 0x00000001 (1)
HttpAcceptLanguageOptOut (REG_DWORD) = 0x00000001 (1)
$ regtool list -v /proc/registry/HKEY_CURRENT_USER/Control\ Panel/International/Geo/
Nation (REG_SZ) = "39"
Name (REG_SZ) = "CA"
$ regtool list -v /proc/registry/HKEY_CURRENT_USER/Control\ Panel/International/
Calendars\ ()
Geo\ ()
LanguageComponentsAvailable\ ()
User Profile\ ()
User Profile System Backup\ ()
🌎🌏🌍\ ()
s1159 (REG_SZ) = "AM"
s2359 (REG_SZ) = "PM"
sCurrency (REG_SZ) = "$"
sDecimal (REG_SZ) = "."
sGrouping (REG_SZ) = "3;0"
sList (REG_SZ) = ","
sMonDecimalSep (REG_SZ) = "."
sMonGrouping (REG_SZ) = "3;0"
sMonThousandSep (REG_SZ) = ","
sNativeDigits (REG_SZ) = "0123456789"
sNegativeSign (REG_SZ) = "-"
sPositiveSign (REG_SZ) = ""
sThousand (REG_SZ) = ","
sTime (REG_SZ) = ":"
iCalendarType (REG_SZ) = "1"
iCountry (REG_SZ) = "1"
iCurrDigits (REG_SZ) = "2"
iCurrency (REG_SZ) = "0"
NumShape (REG_SZ) = "2"
iFirstWeekOfYear (REG_SZ) = "0"
iLZero (REG_SZ) = "1"
iNegNumber (REG_SZ) = "1"
iPaperSize (REG_SZ) = "1"
iTimePrefix (REG_SZ) = "0"
Locale (REG_SZ) = "00001009"
LocaleName (REG_SZ) = "en-CA"
sCountry (REG_SZ) = "Canada"
sDate (REG_SZ) = "-"
sLanguage (REG_SZ) = "ENC"
sLongDate (REG_SZ) = "yyyy MMMM dd dddd"
sShortDate (REG_SZ) = "yyyy-MM-dd"
sTimeFormat (REG_SZ) = "HH:mm:ss"
sShortTime (REG_SZ) = "HH:mm"
sYearMonth (REG_SZ) = "MMMM, yyyy"
iDate (REG_SZ) = "2"
iDigits (REG_SZ) = "3"
iFirstDayOfWeek (REG_SZ) = "0"
iMeasure (REG_SZ) = "0"
iNegCurr (REG_SZ) = "1"
iTime (REG_SZ) = "1"
iTLZero (REG_SZ) = "1"
$ regtool list -v /proc/registry/HKEY_CURRENT_USER/Control\
Panel/International/🌎🌏🌍/
Calendar (REG_SZ) = "Gregorian"
$ regtool list -v /proc/registry/HKEY_CURRENT_USER/Control\
Panel/International/Calendars/TwoDigitYearMax/
1 (REG_SZ) = "2099"
2 (REG_SZ) = "2099"
9 (REG_SZ) = "2099"
10 (REG_SZ) = "2099"
11 (REG_SZ) = "2099"
12 (REG_SZ) = "2099"
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin
mailing list