pass username and password in batch file

jskfan
jskfan used Ask the Experts™
on
pass username and password in batch file

I have this Script that adds a printer on each computer listed on text file , then at the end it calls a powershell, printer.ps1 that enables on the printer the option "Print Directly to printer"

Everything works fine.
I would like to run the script from my computer which is joined to the Domain against the computers listed on the text file which are not joined to the domain. So I need to pass username and password on this script ..the remote computers all have the same local Administrator account and password of Pass2020.

@echo off
setlocal
for /f %%a in (CompPrinterConf.txt) do (
@echo starting pnpport on %%a

 cscript.exe "C:\windows\system32\Printing_Admin_Scripts\en-US\prnport.vbs" -a  -s %%a -r "AAAA" -h hostname -o raw -n 9100
@echo Waiting 5 seconds
timeout 5
@echo starting setting MyPrinter on %%a
cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -a  -p "XXXX-YYYY" -m "HP Universal Printing PCL 6" -r "AAAA"  -s %%a
REM Not really needed, because the script will continue with the next machine
REM timeout 5


)
@echo starting powershell
PowerShell.exe -ExecutionPolicy Bypass -Command  c:\Scripts\printer.ps1
REM timeout 5

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Kesavan JeganarayananIT Consultant

Commented:
You can try with Runas. but i haven't verified this. this is one option.

runas /profile /user:fabrikam\kenmyer “cscript.exe \” "C:\windows\system32\Printing_Admin_Scripts\en-US\prnport.vbs" -a  -s %%a -r "AAAA" -h hostname -o raw -n 9100

Author

Commented:
as you can see at the end it calls a powershell script printer.ps1, that has the code below.
Now do I also need to include username and password on printer.ps1 , or the calling script will pass that automatically ? which I doubt it.

Get-Content -Path C:\Scripts\CompPrinterConf.txt | ForEach-Object {


$printer = Get-WmiObject -Class Win32_Printer -Filter "Name = 'Myprinter'" -ComputerName $_
$printer.Direct= $true
$printer.Put()
}

Open in new window

End-user support
Commented:
The powershell ps1 will run with the same credentials. If you admin are domain admin, it should work.

Author

Commented:
The powershell ps1 will run with the same credentials. If you admin are domain admin, it should work.
it would have been simple that way...

but the script is on  a computer joined to the domain, and the target computers are in Work Group

Author

Commented:
I will try it later
Thank you

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial