What shell are you using?
"ls" is an alias for "Get-ChildItem" in PowerShell and the parameter "-lrt" is unknown:
Get-ChildItem : A parameter cannot be found that matches parameter name 'lrt'
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
In a Windows Server 2022, I am creating a file through remote perl script.
However when I list the files in a non-Administrator mode, I see the file owner and file group showing as <unavail>
Any suggestions on how to fix this using command prompt?
Interacting with the Explorer is not a feasible solution for my use case.
What shell are you using?
"ls" is an alias for "Get-ChildItem" in PowerShell and the parameter "-lrt" is unknown:
Get-ChildItem : A parameter cannot be found that matches parameter name 'lrt'
Changes the owner (and group) of a list of files. The first two elements of the list must be the numeric uid and gid, in that order. A value of -1 in either position is interpreted by most systems to leave that value unchanged. Returns the number of files successfully changed.
my $cnt = chown $uid, $gid, 'foo', 'bar';
chown $uid, $gid, @filenames;
On systems that support fchown(2), you may pass filehandles among the files. On systems that don't support fchown(2), passing filehandles raises an exception. Filehandles must be passed as globs or glob references to be recognized; barewords are considered filenames.
Here's an example that looks up nonnumeric uids in the passwd file:
print "User: ";
chomp(my $user = <STDIN>);
print "Files: ";
chomp(my $pattern = <STDIN>);
my ($login,$pass,$uid,$gid) = getpwnam($user)
or die "$user not in passwd file";
my @Ary = glob($pattern); # expand filenames
chown $uid, $gid, @Ary ;
On most systems, you are not allowed to change the ownership of the file unless you're the superuser, although you should be able to change the group to any of your secondary groups. On insecure systems, these restrictions may be relaxed, but this is not a portable assumption. On POSIX systems, you can detect this condition this way:
use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);
my $can_chown_giveaway = ! sysconf(_PC_CHOWN_RESTRICTED);
--
--If the reply is helpful, please Upvote and Accept as answer--