2011-12-14 2 views
0

Я хотел бы зациклиться на команды с powershell для создания локальной учетной записи и удалить ее через 5 минут. Затем подождите 1 минуту и ​​создать общий снова .. Затем через 5 минут, чтобы удалить его и еще через одну минуту, чтобы создать его снова и так далее и так далее ..Петля Powershell

Есть те два:

$FolderPath = "D:\proxy" 
$ShareName = "proxy" 
$Type = 0 

$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 

Start-Sleep -s 60 
Get-WmiObject -Class Win32_Share -Filter "Name='proxy'" | Remove-WmiObject 

Start-Sleep -s 60 
$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 

Но это не зацикливание. Он останавливается после окончания файла.

ответ

0

Просто вставьте код do {} while(true) блока (или изменить условие, что вам нужно)

+0

большое спасибо за помощь – user1097593

0

Что-то вроде:

$done = $false 
while(!$done) 
{ 
    $FolderPath = "D:\proxy" 
$ShareName = "proxy" 
$Type = 0 

$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 

Start-Sleep -s 60 
Get-WmiObject -Class Win32_Share -Filter "Name='proxy'" | Remove-WmiObject 

Start-Sleep -s 60 
$objWMI = [wmiClass] 'Win32_share' 
$objWMI.create($FolderPath, $ShareName, $Type) 
} 
1

Вам не нужно последний шаг создания, в цикле он будет создаваться на первом шаге цикла. Чтобы отменить операцию, нажмите CTRL + C.

$FolderPath = "D:\proxy" 
$ShareName = "proxy" 
$Type = 0 

while($true){ 
    #create the share 
    $objWMI = [wmiClass] 'Win32_share' 
    $objWMI.create($FolderPath, $ShareName, $Type) 

    # remove it after 5 minutes 
    Start-Sleep -s 300 
    Get-WmiObject -Class Win32_Share -Filter "Name='proxy'" | Remove-WmiObject 

    # wait one minute, share will be created in next loop iteration 
    Start-Sleep -s 60 
} 
+0

Работал идеально для меня. –

Смежные вопросы