如何将参数从批处理文件传递给power shell脚本? [英] How to pass parameters from batch file to power shell script?
问题描述
大家好
在从power shell创建活动目录中的新用户时遇到问题,在此我们需要提供批处理文件中的值.am new请提供一些关于如何将参数从批处理文件传递到shell脚本的工作。
i试过这会工作吗?
###批处理文件:test.bat ###
@echo off
set / p uname =%1
set / p sname =%2
set / p dname =%3
set / p pwd =%4
set / p upname =%5
powerShell.exe -File TestPs.ps1%1%2%3%4%5
暂停
### ps文件:TestPs.ps1 ###
导入模块ActiveDirectory
新ADUser`
-Name$ args [0] `
-PathCN = Users,DC = some,DC = Local`
-SamAccountName$ args [1]`
-DisplayName$ args [2]`
-AccountPassword(ConvertTo-SecureString$ args [3] - AsPlainText -Force)`
-ChangePasswordAtLogon $ true `
-Enabled $ true
-userprincipalname($ args [4]+incess.local)
很抱歉打扰你我不熟悉这个请不要介意。
这是剧本。
批次:test1.bat
Hi all
am facing an issue while creating new user in active directory from power shell, In this we need to provide values from batch file..am new to this please provide some work around how to pass parameters from batch file to shell script.
i tried this will it work?
###batch file: test.bat###
@echo off
set /p uname=%1
set /p sname=%2
set /p dname=%3
set /p pwd=%4
set /p upname=%5
powerShell.exe -File TestPs.ps1 %1 %2 %3 %4 %5
pause
###ps file:TestPs.ps1###
Import-Module ActiveDirectory
New-ADUser `
-Name "$args[0]" `
-Path "CN=Users,DC=some,DC=Local" `
-SamAccountName "$args[1]" `
-DisplayName "$args[2]" `
-AccountPassword (ConvertTo-SecureString "$args[3]" -AsPlainText -Force) `
-ChangePasswordAtLogon $true `
-Enabled $true
-userprincipalname ("$args[4]" + "incess.local")
[edit from="http://www.codeproject.com/script/Membership/View.aspx?mid=11010562"]
Sorry for troubling you i am new to this please never mind.
Here is the script.
Batch:test1.bat
@echo off
set /p uname=Enter user name:
set /p sname=Enter samAccount name:
set /p dname=Enter display name:
set /p pwd=Enter password:
set /p upname=Enter user principal name:
powershell.exe -File "testPs.ps1" %uname% %sname% %dname% %pwd% %upname%
和shellscript:
and shellscript:
Import-Module ActiveDirectory
New-ADUser `
-Name "args[0]"
-ChangePasswordAtLogon $true
-SamAccountName "args[1]"
-DisplayName "args[2]"
-Enabled $true
-Path "CN=Users,DC=lab,DC=local"
-givenname user
-surname test
-AccountPassword (ConvertTo-SecureString "args[3]" -AsPlainText -Force)
-userprincipalname ("args[4]" + "@lab.local")
[/ edit]
[/edit]
推荐答案
args [0]`
-PathCN = Users,DC = some,DC =本地`
-SamAccountName
args[0]" `
-Path "CN=Users,DC=some,DC=Local" `
-SamAccountName "
args [1]`
-DisplayName
args[1]" `
-DisplayName "
args [2]`
-AccountPassword(ConvertTo-SecureString
args[2]" `
-AccountPassword (ConvertTo-SecureString "
这篇关于如何将参数从批处理文件传递给power shell脚本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!