Batch script with multiple input sessions
I am trying to make a batch script that automates login in and out of Cisco Anyconnect. I noticed that Anyconnect comes with a CLI application which should make this easy to do. However, my issue is that the CLI app requires me to provide input over multiple session. The flow is the following:
- First I type
connect example.com
and hit enter. Here example.com is the server I wish to connect to. - Then I insert my username and hit enter.
- Lastly, I insert my password and hit enter.
I have read guides on how to pass multiple arguments to a batch script, but it seems that I need to do something extra in order for the arguments to be entered in accordance with the flow, i.e. the arguments should for instance be entered as if the return key is simulated. Is there someone with a suggestion?
powershell batch-file cmd
add a comment |
I am trying to make a batch script that automates login in and out of Cisco Anyconnect. I noticed that Anyconnect comes with a CLI application which should make this easy to do. However, my issue is that the CLI app requires me to provide input over multiple session. The flow is the following:
- First I type
connect example.com
and hit enter. Here example.com is the server I wish to connect to. - Then I insert my username and hit enter.
- Lastly, I insert my password and hit enter.
I have read guides on how to pass multiple arguments to a batch script, but it seems that I need to do something extra in order for the arguments to be entered in accordance with the flow, i.e. the arguments should for instance be entered as if the return key is simulated. Is there someone with a suggestion?
powershell batch-file cmd
1
Have you already looked at a SendKeys solution?
– vonPryz
Nov 27 '18 at 6:54
add a comment |
I am trying to make a batch script that automates login in and out of Cisco Anyconnect. I noticed that Anyconnect comes with a CLI application which should make this easy to do. However, my issue is that the CLI app requires me to provide input over multiple session. The flow is the following:
- First I type
connect example.com
and hit enter. Here example.com is the server I wish to connect to. - Then I insert my username and hit enter.
- Lastly, I insert my password and hit enter.
I have read guides on how to pass multiple arguments to a batch script, but it seems that I need to do something extra in order for the arguments to be entered in accordance with the flow, i.e. the arguments should for instance be entered as if the return key is simulated. Is there someone with a suggestion?
powershell batch-file cmd
I am trying to make a batch script that automates login in and out of Cisco Anyconnect. I noticed that Anyconnect comes with a CLI application which should make this easy to do. However, my issue is that the CLI app requires me to provide input over multiple session. The flow is the following:
- First I type
connect example.com
and hit enter. Here example.com is the server I wish to connect to. - Then I insert my username and hit enter.
- Lastly, I insert my password and hit enter.
I have read guides on how to pass multiple arguments to a batch script, but it seems that I need to do something extra in order for the arguments to be entered in accordance with the flow, i.e. the arguments should for instance be entered as if the return key is simulated. Is there someone with a suggestion?
powershell batch-file cmd
powershell batch-file cmd
asked Nov 27 '18 at 6:30
misolsenmisolsen
32
32
1
Have you already looked at a SendKeys solution?
– vonPryz
Nov 27 '18 at 6:54
add a comment |
1
Have you already looked at a SendKeys solution?
– vonPryz
Nov 27 '18 at 6:54
1
1
Have you already looked at a SendKeys solution?
– vonPryz
Nov 27 '18 at 6:54
Have you already looked at a SendKeys solution?
– vonPryz
Nov 27 '18 at 6:54
add a comment |
2 Answers
2
active
oldest
votes
in batch, the following might work or might not work - depends on how connect
is programmed:
(echo username&echo password)|connect example.com
Note: be careful with spaces ((echo username & echo password)
might look better, but adds a space to the username (possibly making it an invalid username).
If your password should contain any poison chars, you have to escape them. (%
with another%
: %%
, all others (<>&|
) with a caret (for example ^&
)
add a comment |
If you know the inputs given interactively, you could try below in PowerShell.
'first input','second input','third input' | executable.exe
an example below.
'list disk','select disk 0','list partition' | diskpart.exe
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53493974%2fbatch-script-with-multiple-input-sessions%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
in batch, the following might work or might not work - depends on how connect
is programmed:
(echo username&echo password)|connect example.com
Note: be careful with spaces ((echo username & echo password)
might look better, but adds a space to the username (possibly making it an invalid username).
If your password should contain any poison chars, you have to escape them. (%
with another%
: %%
, all others (<>&|
) with a caret (for example ^&
)
add a comment |
in batch, the following might work or might not work - depends on how connect
is programmed:
(echo username&echo password)|connect example.com
Note: be careful with spaces ((echo username & echo password)
might look better, but adds a space to the username (possibly making it an invalid username).
If your password should contain any poison chars, you have to escape them. (%
with another%
: %%
, all others (<>&|
) with a caret (for example ^&
)
add a comment |
in batch, the following might work or might not work - depends on how connect
is programmed:
(echo username&echo password)|connect example.com
Note: be careful with spaces ((echo username & echo password)
might look better, but adds a space to the username (possibly making it an invalid username).
If your password should contain any poison chars, you have to escape them. (%
with another%
: %%
, all others (<>&|
) with a caret (for example ^&
)
in batch, the following might work or might not work - depends on how connect
is programmed:
(echo username&echo password)|connect example.com
Note: be careful with spaces ((echo username & echo password)
might look better, but adds a space to the username (possibly making it an invalid username).
If your password should contain any poison chars, you have to escape them. (%
with another%
: %%
, all others (<>&|
) with a caret (for example ^&
)
answered Nov 27 '18 at 9:00
StephanStephan
35.7k43256
35.7k43256
add a comment |
add a comment |
If you know the inputs given interactively, you could try below in PowerShell.
'first input','second input','third input' | executable.exe
an example below.
'list disk','select disk 0','list partition' | diskpart.exe
add a comment |
If you know the inputs given interactively, you could try below in PowerShell.
'first input','second input','third input' | executable.exe
an example below.
'list disk','select disk 0','list partition' | diskpart.exe
add a comment |
If you know the inputs given interactively, you could try below in PowerShell.
'first input','second input','third input' | executable.exe
an example below.
'list disk','select disk 0','list partition' | diskpart.exe
If you know the inputs given interactively, you could try below in PowerShell.
'first input','second input','third input' | executable.exe
an example below.
'list disk','select disk 0','list partition' | diskpart.exe
answered Nov 27 '18 at 6:51
Prasoon Karunan VPrasoon Karunan V
1,8572721
1,8572721
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53493974%2fbatch-script-with-multiple-input-sessions%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Have you already looked at a SendKeys solution?
– vonPryz
Nov 27 '18 at 6:54