如何检查并创建共享(隐藏)管理目录?
How to check for and create a shared (hidden) admin directory?
我有几个文件服务器,如果不存在我想创建一个路径...很简单吧?我也这么认为,但路径是沿着隐藏的管理员共享。
就在我认为自己在编写脚本方面做得不错的时候,一个简单的问题让我失去了 $h#@$#@...
这是我抓取的代码:
Cls
#check for fileshare
$servers = get-content C:\Temp\test.txt
forEach ($server in $servers) {
$shareTest = Test-Path "\$Server\Share$\Test"
if($shareTest){
Write-Host "Path Exists on $server"
}
Else{
New-Item -Path "\$Server\Share$\" -Name Test -ItemType Directory
Write-Host "Path Exists on $server"
}
}
我收到错误:
New-Item : The path is not of a legal form.
At line:5 char:7
推测这是因为路径中有一个$。我不确定如何逃避它,或者我需要做什么才能让它发挥作用...
这在不同的脚本中出现过几次,我想在流血之前将其夹住...
感谢帮派。
我 运行 遇到过奇怪的情况,其中“$”通过变量扩展被奇怪地解释。您可以通过字符串标记化解决这个问题:
$server = 'hiyo'
'\{0}\{1}' -f $server, 'share$'
我有几个文件服务器,如果不存在我想创建一个路径...很简单吧?我也这么认为,但路径是沿着隐藏的管理员共享。
就在我认为自己在编写脚本方面做得不错的时候,一个简单的问题让我失去了 $h#@$#@...
这是我抓取的代码:
Cls
#check for fileshare
$servers = get-content C:\Temp\test.txt
forEach ($server in $servers) {
$shareTest = Test-Path "\$Server\Share$\Test"
if($shareTest){
Write-Host "Path Exists on $server"
}
Else{
New-Item -Path "\$Server\Share$\" -Name Test -ItemType Directory
Write-Host "Path Exists on $server"
}
}
我收到错误:
New-Item : The path is not of a legal form. At line:5 char:7
推测这是因为路径中有一个$。我不确定如何逃避它,或者我需要做什么才能让它发挥作用...
这在不同的脚本中出现过几次,我想在流血之前将其夹住...
感谢帮派。
我 运行 遇到过奇怪的情况,其中“$”通过变量扩展被奇怪地解释。您可以通过字符串标记化解决这个问题:
$server = 'hiyo'
'\{0}\{1}' -f $server, 'share$'