net use \\server\ips$ /user:me pass
####
use strict;
use warnings;
use Win32::Service;
my (%list, %status);
my %STATE = (
0 => 'unknown',
1 => 'stopped',
2 => 'starting',
3 => 'stopping',
4 => 'running',
5 => 'resuming',
6 => 'pausing',
7 => 'paused',
);
my $display_name = shift @ARGV || die "usage: $0 ServiceName MachineName\n";
my $machine = shift @ARGV || die "usage: $0 ServiceName MachineName\n";
$machine = "\\\\$machine";
$machine =~ s/^\\{2}/\\\\/;
print "Please enter the username to connect as:\n";
chomp (my $usr = );
print "Please enter your Password:\n";
chomp (my $pwd = );
my $cmd = "net use $machine\\ipc\$ /user:$usr $pwd";
print "$cmd\n";
system ("$cmd");
if (Win32::Service::GetServices($machine, \%list)) {
if (defined $list{$display_name}) {
if (Win32::Service::GetStatus($machine, $list{$display_name}, \%status)) {
print "=================================================================================================\n";
print "The $display_name service on $machine is " . $STATE{$status{CurrentState}} . "\n";
print "=================================================================================================\n\n";
} else {
print "Could not find the '$display_name' service.\n";
print "Names are case sensitive.\n";
}
}
} else {
print "Could Not connect to $machine: ";
print Win32::FormatMessage(Win32::GetLastError()), "\n";
}
system ("net use $machine\\ipc\$ /d");
####
use strict;
use warnings;
use Win32::AdminMisc;
my $machine = shift @ARGV or die "Usage: $0 ServerName\n";
#$machine = Win32::NodeName() unless($machine = shift @ARGV);
$machine = "\\\\$machine";
$machine =~ s/^\\{2}/\\\\/;
print "Machine Name: $machine\n";
print "Please enter the username to connect as:\n";
chomp (my $usr = );
print "Please enter your Password:\n";
chomp (my $pwd = );
my $LogonUser = Win32::AdminMisc::GetLogonName();
print "Logon User: $LogonUser\n";
if (Win32::AdminMisc::UserCheckPassword($machine, $usr, $pwd)) {
print "$pwd is correct password for $usr on $machine\n";
} else {
print "Bad Username or Password\n";
}
print "==============================================================\n\n";
if (Win32::AdminMisc::LogonAsUser("$machine", "$usr", "$pwd", LOGON32_LOGON_BATCH)){
print "Successfully logged on.\n";
} else {
print "Failed to logon.\n\tError: ", Error(), "\n";
}