简体   繁体   中英

Force Powershell script to continue when prompted

I am creating a Powershell script that uses the command net share $ShareName $ServerName /delete to stop sharing a folder. The problem is, if there are open files, it will pause and require the user to press Y to continue. I plan on scheduling this script to run overnight (users shouldn't be leaving stuff open overnight) and would like the script to continue automatically no matter what.

Is there a way to send input to the console to imitate pressing the key, or is there some way to specify in the command to force the delete?

Try this:

echo y|net share $ShareName $ServerName /delete

If you're worried about multiple prompts, just do more y s, like echo yyyyyy| .

Use WMI for the operation:

$share = Get-WmiObject -Computer $ServerName -Class Win32_Share -Filter "Name='$ShareName'"
$share.Delete()

Quoting from the documentation :

The Delete WMI class method deletes a share name from a server's list of shared resources, disconnecting connections to the shared resource.

net share $ShareName $ServerName /delete /yes

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM