다음 내용이 포함된 bash 스크립트가 있습니다.
USERLIST="/tmp/adusers.list.names.only.txt"
cat $USERLIST | while read users
do
num=$[$num+1]
USR=`echo $users | awk '{print $1}'`
STATUS=`winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser $USR -Properties * | select Enabled"'`
echo "$USR : $STATUS"
done
그러나 이 명령은 사용자 이름을 가져오는 대신 $USR
변수를 표시합니다.
winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser $USR -Properties * | select Enabled"'
큰따옴표를 시도했지만 "$VAR"
작동하지 않았습니다.
답변1
호출 $USR
에 나오는 부분이 작은따옴표( ) 안에 winexe
있어서 변수로 변환되지 않은 것 같습니다.'
줄을 바꿔서 시도해 보세요
STATUS=`winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser $USR -Properties * | select Enabled"'`
입력하다
STATUS=`winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser '"$USR"' -Properties * | select Enabled"'`
작은따옴표를 이스케이프하려면 큰따옴표를 입력하여 변수 값을 삽입하세요.