Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Use a perl variable on a command that prompts for input

by andyarp (Initiate)
on Oct 18, 2013 at 03:37 UTC ( #1058699=perlquestion: print w/replies, xml ) Need Help??

andyarp has asked for the wisdom of the Perl Monks concerning the following question:

So, i'm trying to use perl to write a script to automate a process that controls bitlocker drive encryption pins. I've written a script that takes the computername (format xxxx-xxxxxxxxxx) and takes the last 4 digits of the name and inputs those digits to a variable ($pin). Then, it runs command

system "manage-bde -changepin C: -computername $asset";

It then pops up asking what you want the pin to set to. My question is, how can i take the 4 digit number in the variable $pin i mentioned and have perl automatically type them into the prompt that manage-bde pops up with?

Replies are listed 'Best First'.
Re: Use a perl variable on a command that prompts for input
by Anonymous Monk on Oct 18, 2013 at 04:06 UTC
Re: Use a perl variable on a command that prompts for input
by kcott (Bishop) on Oct 18, 2013 at 07:17 UTC

    G'day andyarp,

    Welcome to the monastery.

    I'm unfamiliar with manage-bde. When you said "It then pops up asking ...", I thought it sounded like a GUI; however, in the next sentence, you write "... automatically type them into the prompt ...", which sounds less like a GUI, and more like 'enter a value when prompted'. Some clarification on this would help.

    There's potentially a few ways you could do this. Here's some examples:

    -- Ken

      In addition to Ken's three options here, there is also the possibility of using echo inside the system command as in:

      system ("echo my_input | some_command arg arg arg");

      The advantages I find in this are that it is simple and can easily be tested in the shell before embedding it in your Perl script.

      The downside is mostly a lack of portability but also perhaps consideration of properly escaping my_input to cope with the possible shell expansions.

        I tried the "Echo" option, but i kept getting "the handle is invalid", so i think it may be a no-go.

        I'm looking into all these options. Yes it is a message that comes up in the command prompt area. I'm going to give this echo command a try. It sounds like it may work

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1058699]
Approved by kevbot
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2020-01-26 15:54 GMT
Find Nodes?
    Voting Booth?