目的:
根據定製化的計算機名,將其定期移動到指定的ou中,方便管理.
csvde -d cn=computers,dc=contoso,dc=intra -l cn -r "(objectclass=computer)" -f pclist.csv for /f "skip=1 eol=; tokens=2,3* delims=,=" %%a in (pclist.csv) do echo %%a >>pclist2.csv
上述語句若需要在命令列下單獨執行,請去掉乙個百分號.其中根據你ad實際替換dc值.在這個例子裡使用了"csvde"匯出所有計算機到乙個csv檔案裡,然後用for語句篩選有用的資訊重新輸出到另乙個檔案.在這裡csvde可以用dsquery 命令去執行,功能更強大.
findstr /c c pclist2
.csv
>
>c.
csvfindstr /b m pclist2
.csv
>
>m.
csvfindstr /b sales pclist2
.csv
>
>
sales
.csv
在這裡根據計算名裡的字段匯出幾個列表.
for/f "eol=; tokens=1,2,3* delims= "
%%a in(
c.csv)
do dsmove cn=%
%a,cn
=computers,dc
=contoso,dc
=intra
-newparent ou=c
,ou=company,dc
=contoso,dc
=intra
for/f
"eol=; tokens=1,2,3* delims= "
%%a in(
m.csv)
do dsmove cn=%
%a,cn
=computers,dc
=contoso,dc
=intra
-newparent ou=m
,ou=company,dc
=contoso,dc
=intra
for/f
"eol=; tokens=1,2,3* delims= "
%%a in(
sales
.csv
)do dsmove cn=%
%a,cn
=computers,dc
=contoso,dc
=intra
-newparent ou
=sales,ou
=company,dc
=contoso,dc
=intra
這裡就是根據從匯出來的列表移動到相應的ou.
csvde
-d cn
=computers,dc
=h,dc
=com
-l cn -r
"(objectclass=computer)"
-f pclist
.csv
for/
f "skip=1 eol=; tokens=2,3* delims=,="%%
a in
(pclist
.csv)do
echo %%
a >
>
pclist2
.csv
findstr
/c cn
-a pclist2
.csv
>
>cw.
csvfindstr
/b cn
-l pclist2
.csv
>
>cl.
csvfindstr
/b us
-a pclist2
.csv
>
>uw.
csvfindstr
/b us
-l pclist2
.csv
>
>ul.
csvfor/f
"eol=; tokens=1,2,3* delims= "%%
a in (cw
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=workstation,ou
=china,ou
=company,dc
=h,dc
=com
for/
f "eol=; tokens=1,2,3* delims= "%%
a in (cl
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=laptop,ou
=china,ou
=company,dc
=h,dc
=com
for/
f "eol=; tokens=1,2,3* delims= "%%
a in (uw
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=workstation,ou
=us,ou
=company,dc
=h,dc
=com
for/
f "eol=; tokens=1,2,3* delims= "%%
a in (ul
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=laptop,ou
=us,ou
=company,dc
=h,dc
=com
ifexist *.
csv del *.
csv最後的效果是:所有以cn-a開頭的pc都移動到china裡的workstation裡.cn-l就移動到china裡的laptop.這樣可以有效的分開管理.
dsquery computer
-o rdn cn
=computers,dc
=h,dc
=com
>
>
pclist2
.csv
findstr cn
-a pclist2
.csv
>
>cw.
csvfindstr cn
-l pclist2
.csv
>
>cl.
csvfindstr us
-a pclist2
.csv
>
>uw.
csvfindstr us
-l pclist2
.csv
>
>ul.
csvfor/f
"eol=; tokens=1,2,3* delims= "%%
ain (cw
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=workstation,ou
=china,ou
=company,dc
=h,dc
=com
for/
f "eol=; tokens=1,2,3* delims= "%%
ain (cl
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=laptop,ou
=china,ou
=company,dc
=h,dc
=com
for/
f "eol=; tokens=1,2,3* delims= "%%
ain (uw
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=workstation,ou
=us,ou
=company,dc
=h,dc
=com
for/
f "eol=; tokens=1,2,3* delims= "%%
ain (ul
.csv)do
dsmove cn=%
%a,cn
=computers,dc
=h,dc
=com
-newparent ou
=laptop,ou
=us,ou
=company,dc
=h,dc
=com
ifexist *.
csv del *.
csv
根據計算機名獲取該計算機的所有IP
1.工程中新增命令列引數 socket程式設計 include winsock2.h pragma comment lib,ws2 32.lib include ws2tcpip.h 注意位置 int main int argc,char argv if argc 2 struct addrinfo...
關於加入域的計算機名稱修改
最近在做加入域的客戶端更名,由於計算機數量眾多且較分散,通過ipsec鏈結的網路並不穩定,改名退域然後加域,太過繁瑣耗時。對於加入域的計算機,預設情況下,只有計算機域管理員級別的使用者才能更改,普通使用者無法更改名稱 這種現象很明顯是許可權導致。當然,普通使用者肯定不能加入域管理員組,一般情況下,普...
CRM匯入組織報例項名稱必須與計算機名稱相同的問題
今天採用p2v拷貝了一台crm資料庫到虛機上,因為要加域必須得把計算機名改了,然後再重新匯入組織的時候報錯了 例項名稱必須與計算機名稱相同 google了下沒有匹配的問題答案,但從乙個帖子裡得到了靈感,明顯的是計算機名的改變導致的問題,通過如下 檢視了定義的本地例項名稱 select servern...